/*
	Theme Name: SEO Aquity
	Theme URI: https://facebook.com/mohsen.elgamasy/
	Description: Fully Build from Scratch for SEO Aquity
	Author: Dr Mohsen
	Author URI: https://facebook.com/mohsen.elgamasy/
	Version: 1.0
	Text Domain: seoaquity
*/

/********** Template CSS **********/

/* ============================================================
   CSS VARIABLES & RESET
   ============================================================ */
:root {
  --primary: #3cd3cd;
  --primary-dark: #27b5b5;
  --primary-light: #a8eded;
  --dark: #274053;
  --dark-2: #1d3040;
  --dark-3: #0f1e2a;
  --white: #ffffff;
  --gray-1: #f5f9fc;
  --gray-2: #e8f0f5;
  --gray-3: #9eb3c2;
  --font-head: 'Syne', sans-serif;
  --font-body: 'DM Sans', sans-serif;
  --radius: 16px;
  --radius-sm: 8px;
  --transition: all .35s cubic-bezier(.4,0,.2,1);
  --shadow: 0 12px 48px rgba(39,64,83,.12);
  --shadow-card: 0 4px 24px rgba(39,64,83,.08);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  color: var(--dark);
  background: var(--white);
  overflow-x: hidden;
}

h1,h2,h3,h4,h5,h6 { font-family: var(--font-head); font-weight: 700; }

img { max-width: 100%; }

a { text-decoration: none; transition: var(--transition); }

section { overflow: hidden; }

/* ============================================================
   UTILITIES
   ============================================================ */
.section-subtitle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--primary-dark);
  background: rgba(60,211,205,.1);
  border: 1px solid rgba(60,211,205,.25);
  padding: 6px 16px;
  border-radius: 50px;
  margin-bottom: 16px;
}
.section-subtitle::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--primary);
  display: inline-block;
}

.section-title {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.15;
  color: var(--dark);
  margin-bottom: 20px;
}
.section-title span { color: var(--primary); }

.section-desc {
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--gray-3);
  max-width: 560px;
}

.btn-primary-custom {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--primary);
  color: var(--dark);
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .92rem;
  padding: 14px 30px;
  border-radius: 50px;
  border: 2px solid var(--primary);
  transition: var(--transition);
  white-space: nowrap;
}
.btn-primary-custom:hover {
  background: transparent;
  color: var(--primary);
}
.btn-primary-custom .arrow {
  width: 28px; height: 28px;
  background: var(--dark);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  transition: var(--transition);
  flex-shrink: 0;
}
.btn-primary-custom:hover .arrow { background: var(--primary); }

.btn-outline-custom {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  color: var(--dark);
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .92rem;
  padding: 13px 28px;
  border-radius: 50px;
  border: 2px solid var(--dark);
  transition: var(--transition);
}
.btn-outline-custom:hover {
  background: var(--dark);
  color: var(--white);
}

.btn-light-custom {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--white);
  color: var(--dark);
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .92rem;
  padding: 14px 30px;
  border-radius: 50px;
  border: 2px solid var(--white);
  transition: var(--transition);
}
.btn-light-custom:hover {
  background: transparent;
  color: var(--white);
}

/* ============================================================
   HEADER
   ============================================================ */
#site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  transition: var(--transition);
  padding: 0;
}
#site-header.scrolled {
  background: rgba(15,30,42,.95);
  backdrop-filter: blur(16px);
  box-shadow: 0 4px 32px rgba(0,0,0,.3);
}

.header-top {
  background: var(--dark-2);
  padding: 8px 0;
  font-size: .82rem;
  color: rgba(255,255,255,.6);
}
.header-top a { color: var(--primary); }
.header-top .contact-info { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.header-top .contact-item { display: flex; align-items: center; gap: 6px; }
.header-top .contact-item i { color: var(--primary); font-size: .9rem; }

.header-main {
  background: var(--dark-3);
  padding: 16px 0;
}

a.logo img {
    height: 55px;
    width: auto;
}

/* ========================================================================
   Bootstrap 5 Split Navwalker - Final CSS
   Based on actual HTML output
   ======================================================================== */

/* ========================================================================
   SPLIT BUTTON STYLING
   ======================================================================== */

.dropdown-toggle-split,
.dropdown-toggle-split-nested {
    padding: 0;
    margin-left: 5px;
    background: transparent;
    border: none;
    color: rgba(0, 0, 0, 0.55);
    cursor: pointer;
    font-size: 0.9em;
    transition: background-color 0.15s ease;
}

.dropdown-toggle-split:hover,
.dropdown-toggle-split-nested:hover {
    background-color: rgba(0, 0, 0, 0.075);
}

.dropdown-toggle-split:focus,
.dropdown-toggle-split-nested:focus {
    outline: 2px solid #0d6efd;
    outline-offset: -2px;
}

/* Dark navbar variant */
.navbar-dark .dropdown-toggle-split,
.navbar-dark .dropdown-toggle-split-nested {
    color: rgba(255, 255, 255, 0.55);
    border-left-color: rgba(255, 255, 255, 0.1);
}

.navbar-dark .dropdown-toggle-split:hover,
.navbar-dark .dropdown-toggle-split-nested:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.75);
}

/* ========================================================================
   DESKTOP STYLES (≥992px)
   ======================================================================== */

@media (min-width: 992px) {
    /* Top-level items with dropdown */
    .navbar-nav .nav-item.dropdown {
        display: flex;
        align-items: stretch;
        position: relative;
    }
    
    /* Nested items with dropdown - also use flexbox for split button */
    .dropdown-menu .dropdown-submenu-item.dropdown {
        display: flex;
        align-items: stretch;
    }
    
    /* Dropdown menu - hidden by default */
    .navbar-nav .dropdown-menu {
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 1000;
        display: none;
        min-width: 250px;
        padding: 0.5rem 0;
        margin: 0;
        background-color: #fff;
        border: 1px solid rgba(0, 0, 0, 0.15);
        border-radius: 0.375rem;
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175);
    }
    
    /* Show top-level dropdown when has .show class */
    .navbar-nav .nav-item.dropdown.show > .dropdown-menu {
        display: block;
    }
    
    /* Dropdown items */
    .dropdown-menu .dropdown-item {
        display: block;
        width: 100%;
        padding: 0.5rem 1.5rem;
        color: #212529;
        text-decoration: none;
        background-color: transparent;
        border: 0;
        cursor: pointer;
        transition: background-color 0.15s ease;
    }
    
    .dropdown-menu .dropdown-item:hover {
        background-color: #e9ecef;
        color: #1e2125;
    }
    
    /* Nested submenu items */
    .dropdown-menu .dropdown-submenu-item {
        position: relative;
    }
    
    /* Nested submenu - hidden by default */
    .dropdown-menu .dropdown-submenu-item.dropdown > .dropdown-menu {
        position: absolute;
        top: 0;
        left: 100%;
        margin-left: 0.125rem;
        margin-top: -0.5rem;
        display: none;
    }
    
    /* Show nested submenu on hover */
    .dropdown-menu .dropdown-submenu-item.dropdown:hover > .dropdown-menu {
        display: block;
    }
    
    /* Show nested submenu when has .show class */
    .dropdown-menu .dropdown-submenu-item.dropdown.show > .dropdown-menu {
        display: block;
    }
    
    /* Arrow for nested items with submenus */
    .dropdown-submenu-item.dropdown .dropdown-arrow {
        float: right;
        margin-left: 1rem;
        opacity: 0.6;
        transition: opacity 0.15s ease;
    }
    
    .dropdown-submenu-item.dropdown:hover .dropdown-arrow {
        opacity: 1;
    }
    
    /* Custom scrollbar */
    .navbar-nav > .nav-item.dropdown > .dropdown-menu::-webkit-scrollbar {
        width: 6px;
    }
    
    .navbar-nav > .nav-item.dropdown > .dropdown-menu::-webkit-scrollbar-track {
        background: #f1f1f1;
    }
    
    .navbar-nav > .nav-item.dropdown > .dropdown-menu::-webkit-scrollbar-thumb {
        background: #888;
        border-radius: 3px;
    }
    
    .navbar-nav > .nav-item.dropdown > .dropdown-menu::-webkit-scrollbar-thumb:hover {
        background: #555;
    }
    
    /* No scroll restrictions on nested menus */
    .dropdown-submenu-item.dropdown > .dropdown-menu {
        max-height: none;
        overflow: visible;
    }
	.dropdown-toggle-split-nested {
		display: none;
	}
}

/* ========================================================================
   MOBILE STYLES (<992px)
   ======================================================================== */

@media (max-width: 991.98px) {
    .navbar-collapse {
		flex-basis: 100%;
		flex-grow: 1;
		align-items: center;
		max-width: 100%;
		overflow-y: scroll;
		max-height: 100vh;
	}
	
    /* Show split buttons on mobile */
    .dropdown-toggle-split,
    .dropdown-toggle-split-nested {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        padding: 0.5rem 0.75rem;
        border: none;
        background: transparent;
        margin-left: auto;
    }
    
    /* Add arrow indicator to nav-link */
    .nav-item.dropdown > .nav-link::after {
        content: none;
    }
    
    /* Rotate arrow when open */
    .nav-item.dropdown.show > .nav-link::after {
        transform: rotate(180deg);
    }
    
    /* Stack dropdowns vertically */
    .navbar-nav .dropdown-menu {
        position: static !important;
        float: none;
        width: 100%;
        margin: 0;
        padding: 0;
        background-color: transparent;
        border: none;
        box-shadow: none;
        display: none;
    }
    
    /* Show dropdown when has .show class */
    .navbar-nav .dropdown-menu.show {
        display: block;
    }
    
    /* Dropdown items - indented */
    .navbar-nav .dropdown-menu .dropdown-item {
		font-size: 14px;
        padding: 0.5rem 1rem;
        padding-left: 2rem;
        color: #fff;
        background-color: transparent;
        text-decoration: none;
        display: block;
        transition: background-color 0.15s ease;
		width: auto;
		max-width: 85%;
    }
    
    .navbar-nav .dropdown-menu .dropdown-item:hover {
        background-color: #3ed4cd;
    }
    
    /* Nested items with submenus - add arrow */
    .dropdown-submenu-item.dropdown > .dropdown-item::after {
        content: none;
    }
    
    /* Rotate arrow when nested submenu is open */
    .dropdown-submenu-item.dropdown.show > .dropdown-item::after {
        transform: rotate(180deg);
    }
    
    /* Hide desktop arrow on mobile */
    .dropdown-item .dropdown-arrow {
        display: none !important;
    }
    
    /* Further indent for nested items */
    .dropdown-submenu-item .dropdown-menu .dropdown-item {
        padding-left: 3rem;
    }
    
    /* Third level */
    .dropdown-submenu-item .dropdown-submenu-item .dropdown-menu .dropdown-item {
        padding-left: 4rem;
    }
    
    /* Fourth level */
    .dropdown-submenu-item .dropdown-submenu-item .dropdown-submenu-item .dropdown-menu .dropdown-item {
        padding-left: 5rem;
    }
	
	.navbar-nav > .nav-item.dropdown, .navbar-nav .dropdown-submenu-item.dropdown {
		display: flex;
		flex-wrap: wrap;
	}
	
	
}

/* ========================================================================
   ACTIVE & CURRENT STATES
   ======================================================================== */

.navbar-nav .nav-item.active > .nav-link,
.navbar-nav .current-menu-item > .nav-link {
    /* color: #0d6efd; */
    /* font-weight: 500; */
}

.dropdown-menu .dropdown-item.active,
.dropdown-menu .current-menu-item > .dropdown-item {
    color: #fff;
    background-color: #0d6efd;
}

/* ========================================================================
   ACCESSIBILITY
   ======================================================================== */

.nav-link:focus,
.dropdown-item:focus,
.dropdown-toggle-split:focus {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
}

/* Remove outline when not using keyboard */
.nav-link:focus:not(:focus-visible),
.dropdown-item:focus:not(:focus-visible),
.dropdown-toggle-split:focus:not(:focus-visible) {
    outline: none;
}

/* ========================================================================
   UTILITIES
   ======================================================================== */

/* Cursor */
.dropdown-item {
    cursor: pointer;
	white-space: unset;
}

/* Prevent flash during collapse */
.navbar-collapse.collapsing .dropdown-menu {
    display: none !important;
}

/* WordPress admin bar compatibility */
@media screen and (min-width: 783px) {
    .admin-bar .navbar.fixed-top {
        top: 32px;
    }
}

@media screen and (max-width: 782px) {
    .admin-bar .navbar.fixed-top {
        top: 46px;
    }
}

/* ============================================================
   SECTION 1 – HERO
   ============================================================ */
#hero {
  min-height: 100vh;
  background: var(--dark-3);
  position: relative;
  display: flex;
  align-items: center;
  padding: 160px 0 100px;
  overflow: hidden;
}

.hero-bg-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(60,211,205,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60,211,205,.06) 1px, transparent 1px);
  background-size: 60px 60px;
}

.hero-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  pointer-events: none;
}
.hero-glow-1 {
  width: 600px; height: 600px;
  background: rgba(60,211,205,.15);
  top: -100px; right: -150px;
}
.hero-glow-2 {
  width: 400px; height: 400px;
  background: rgba(39,64,83,.8);
  bottom: -100px; left: -100px;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(60,211,205,.1);
  border: 1px solid rgba(60,211,205,.3);
  color: var(--primary);
  font-size: .82rem;
  font-weight: 500;
  padding: 8px 18px;
  border-radius: 50px;
  margin-bottom: 24px;
  animation: fadeDown .8s ease both;
}
.hero-badge i { font-size: .9rem; }

.hero-title {
  font-size: clamp(2.8rem, 6vw, 5rem);
  line-height: 1.08;
  color: var(--white);
  margin-bottom: 24px;
  animation: fadeDown .8s .1s ease both;
}
.hero-title .highlight {
  color: var(--primary);
  position: relative;
}
.hero-title .highlight::after {
  content: '';
  position: absolute;
  bottom: 4px; left: 0; right: 0;
  height: 3px;
  background: var(--primary);
  border-radius: 2px;
  opacity: .4;
}

.hero-desc {
  font-size: 1.1rem;
  line-height: 1.8;
  color: rgba(255,255,255,.6);
  max-width: 540px;
  margin-bottom: 40px;
  animation: fadeDown .8s .2s ease both;
}

.hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 56px;
  animation: fadeDown .8s .3s ease both;
}

.hero-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.8);
  font-family: var(--font-head);
  font-weight: 600;
  font-size: .92rem;
  transition: var(--transition);
}
.hero-btn-secondary i { color: var(--primary); }
.hero-btn-secondary:hover { color: var(--primary); }

.hero-stats {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  animation: fadeDown .8s .4s ease both;
}
.stat-item { position: relative; }
.stat-item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: -20px; top: 10%; bottom: 10%;
  width: 1px;
  background: rgba(255,255,255,.15);
}
.stat-num {
  font-family: var(--font-head);
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1;
}
.stat-num span { color: var(--primary); }
.stat-label {
  font-size: .8rem;
  color: rgba(255,255,255,.5);
  margin-top: 4px;
}

/* Hero visual */
.hero-visual {
  position: relative;
  animation: fadeLeft .9s .3s ease both;
}

.hero-card-main {
  background: rgba(255,255,255,.05);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px;
  padding: 32px;
  position: relative;
}

.hero-metric {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: rgba(255,255,255,.04);
  border-radius: var(--radius);
  margin-bottom: 12px;
  border: 1px solid rgba(255,255,255,.06);
}
.hero-metric:last-child { margin-bottom: 0; }
.metric-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: rgba(60,211,205,.15);
  display: flex; align-items: center; justify-content: center;
  color: var(--primary);
  font-size: 1.1rem;
  flex-shrink: 0;
}
.metric-info { flex: 1; }
.metric-label { font-size: .75rem; color: rgba(255,255,255,.45); margin-bottom: 2px; }
.metric-val { font-family: var(--font-head); font-size: 1.1rem; font-weight: 700; color: var(--white); }
.metric-trend {
  font-size: .75rem;
  font-weight: 600;
  color: #4ade80;
  background: rgba(74,222,128,.1);
  padding: 3px 8px;
  border-radius: 20px;
}

.hero-float-card {
  position: absolute;
  background: var(--white);
  border-radius: 16px;
  padding: 14px 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  animation: float 4s ease-in-out infinite;
	z-index: 2;
}
.hero-float-1 { top: -30px; left: -40px; animation-delay: 0s; }
.hero-float-2 { bottom: 30px; right: -40px; animation-delay: 1.5s; }

.float-icon { font-size: 1.4rem; margin-bottom: 4px; }
.float-label { font-size: .7rem; color: var(--gray-3); font-weight: 500; }
.float-val { font-family: var(--font-head); font-size: 1rem; font-weight: 700; color: var(--dark); }

/* ============================================================
   SECTION 2 – ABOUT US
   ============================================================ */
#about {
  padding: 120px 0;
  background: var(--gray-1);
}

.about-image-wrap {
  position: relative;
  padding: 24px 24px 24px 0;
}
.about-image-wrap img {
  width: 100%;
  border-radius: 20px;
  position: relative;
  z-index: 2;
  display: block;
  object-fit: cover;
  aspect-ratio: 4/5;
}
.about-image-wrap::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  border: 3px solid var(--primary);
  border-radius: 20px;
  z-index: 1;
  transition: var(--transition);
}
.about-image-wrap::after {
  content: '';
  position: absolute;
  bottom: -12px; left: 12px;
  width: calc(100% - 48px);
  height: calc(100% - 48px);
  background: var(--dark);
  border-radius: 20px;
  z-index: 0;
}

.about-exp-badge {
  position: absolute;
  bottom: 50px; right: -20px;
  background: var(--primary);
  color: var(--dark);
  border-radius: 20px;
  padding: 20px 24px;
  text-align: center;
  z-index: 3;
  box-shadow: 0 16px 40px rgba(60,211,205,.4);
}
.about-exp-badge .num {
  font-family: var(--font-head);
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1;
}
.about-exp-badge .text {
  font-size: .78rem;
  font-weight: 600;
  opacity: .8;
  max-width: 80px;
  line-height: 1.3;
}

.about-content { padding-left: 40px; }

.about-list { list-style: none; padding: 0; margin: 28px 0 32px; }
.about-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
  color: var(--gray-3);
  font-size: .95rem;
  line-height: 1.6;
}
.about-list li i { color: var(--primary); font-size: 1rem; margin-top: 2px; flex-shrink: 0; }

/* ============================================================
   SECTION 3 – VALUES
   ============================================================ */
#values {
  padding: 120px 0;
  background: var(--white);
}

.values-header { text-align: center; max-width: 640px; margin: 0 auto 60px; }
.values-header .section-desc { margin: 0 auto; }

.value-card {
  background: var(--gray-1);
  border-radius: 24px;
  padding: 40px 32px;
  height: 100%;
  border: 1px solid var(--gray-2);
  transition: var(--transition);
  position: relative;
  overflow: hidden;
}
.value-card::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: var(--primary);
  transform: scaleX(0);
  transition: var(--transition);
}
.value-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow);
  background: var(--white);
}
.value-card:hover::before { transform: scaleX(1); }

.value-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: var(--radius);
  margin-bottom: 24px;
}
.value-icon {
  width: 56px; height: 56px;
  background: rgba(60,211,205,.12);
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  color: var(--primary);
  margin-bottom: 20px;
}
.value-card h4 {
  font-size: 1.25rem;
  margin-bottom: 12px;
  color: var(--dark);
}
.value-card p {
  color: var(--gray-3);
  font-size: .92rem;
  line-height: 1.7;
}

/* ============================================================
   SECTION 4 – SEO SOLUTIONS
   ============================================================ */
#solutions {
  padding: 120px 0;
  background: var(--dark-3);
  position: relative;
}
#solutions::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(60,211,205,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60,211,205,.04) 1px, transparent 1px);
  background-size: 50px 50px;
}

#solutions .section-title { color: var(--white); }
#solutions .section-desc { color: rgba(255,255,255,.5); }
#solutions .section-subtitle { color: var(--primary); border-color: rgba(60,211,205,.3); background: rgba(60,211,205,.08); }

.solutions-header { max-width: 600px; }

.solution-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  padding: 28px;
  transition: var(--transition);
  height: 100%;
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.solution-card:hover {
  background: rgba(255,255,255,.07);
  border-color: rgba(60,211,205,.3);
  transform: translateY(-4px);
}
.sol-num {
  font-family: var(--font-head);
  font-size: 2rem;
  font-weight: 800;
  color: rgba(60,211,205,.2);
  line-height: 1;
  flex-shrink: 0;
  min-width: 40px;
}
.sol-content {}
.sol-icon {
  width: 44px; height: 44px;
  background: rgba(60,211,205,.12);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  color: var(--primary);
  font-size: 1.1rem;
  margin-bottom: 14px;
}
.solution-card h4 {
  font-size: 1.05rem;
  color: var(--white);
  margin-bottom: 8px;
}
.solution-card p {
  color: rgba(255,255,255,.45);
  font-size: .88rem;
  line-height: 1.6;
}

/* ============================================================
   SECTION 5 – CTA FULL WIDTH
   ============================================================ */
#cta-1 {
  padding: 120px 0;
  background: linear-gradient(135deg, var(--primary) 0%, #27b5b5 50%, var(--dark) 100%);
  position: relative;
  overflow: hidden;
  text-align: center;
}
#cta-1::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
#cta-1 .section-subtitle { color: var(--dark); background: rgba(0,0,0,.15); border-color: rgba(0,0,0,.2); }
#cta-1 .section-subtitle::before { background: var(--dark); }
#cta-1 .section-title { color: var(--white); }
#cta-1 .section-desc { color: rgba(255,255,255,.75); margin: 0 auto 40px; }

.btn-dark-custom {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--dark);
  color: var(--white);
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .92rem;
  padding: 16px 36px;
  border-radius: 50px;
  border: 2px solid var(--dark);
  transition: var(--transition);
}
.btn-dark-custom:hover {
  background: transparent;
  color: var(--dark);
  border-color: var(--dark);
}

/* ============================================================
   SECTION 6 – OUR SERVICES
   ============================================================ */
#services {
  padding: 120px 0;
  background: var(--gray-1);
}

.services-header { max-width: 640px; }

.service-slide {
  background: var(--white);
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid var(--gray-2);
  transition: var(--transition);
  height: 100%;
}
.service-slide:hover {
  box-shadow: var(--shadow);
  transform: translateY(-6px);
}
.service-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}
.service-body {
  padding: 28px;
}
.service-tag {
  display: inline-block;
  background: rgba(60,211,205,.1);
  color: var(--primary-dark);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 14px;
}
.service-body h4 {
  font-size: 1.15rem;
  margin-bottom: 10px;
}
.service-body h4 a {
  color: var(--dark);
}
.service-body h4 a:hover {
  color: var(--primary);
}
.service-body p {
  color: var(--gray-3);
  font-size: .9rem;
  line-height: 1.7;
  margin-bottom: 20px;
}
.service-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--primary-dark);
  font-family: var(--font-head);
  font-weight: 600;
  font-size: .88rem;
}
.service-link:hover { gap: 10px; color: var(--dark); }

/* ============================================================
   SECTION 7 – CASE STUDIES
   ============================================================ */
#case-studies {
  padding: 120px 0;
  background: var(--white);
}

.case-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; }
.case-card {
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.case-card:nth-child(1) { grid-column: span 8; grid-row: span 2; }
.case-card:nth-child(2) { grid-column: span 4; }
.case-card:nth-child(3) { grid-column: span 4; }
.case-card:nth-child(4) { grid-column: span 4; }
.case-card:nth-child(5) { grid-column: span 4; }
.case-card:nth-child(6) { grid-column: span 4; }
.case-card:nth-child(7) { grid-column: span 4; }

.case-card img {
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
  display: block;
  transition: transform .6s ease;
}
.case-card:nth-child(1) img { min-height: 500px; }
.case-card:hover img { transform: scale(1.06); }

.case-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15,30,42,.95) 40%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px;
  transition: var(--transition);
}
.case-badge {
  display: inline-block;
  background: var(--primary);
  color: var(--dark);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 10px;
  align-self: flex-start;
}
.case-title {
  font-family: var(--font-head);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 8px;
  line-height: 1.3;
}
.case-card:nth-child(1) .case-title { font-size: 1.6rem; }
.case-desc {
  font-size: .85rem;
  color: rgba(255,255,255,.6);
  line-height: 1.6;
  margin-bottom: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.case-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--primary);
  font-family: var(--font-head);
  font-weight: 600;
  font-size: .82rem;
  transition: var(--transition);
  align-self: flex-start;
}
.case-btn:hover { gap: 10px; color: var(--white); }

/* ============================================================
   SECTION 8 – PARTNERS
   ============================================================ */
#partners {
  padding: 100px 0;
  background: var(--gray-1);
}

.partner-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
  padding: 0 30px;
  filter: grayscale(1) opacity(.5);
  transition: var(--transition);
}
.partner-logo:hover { filter: grayscale(0) opacity(1); }
.partner-logo-inner {
  background: var(--dark);
  color: var(--white);
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.4rem;
  padding: 12px 28px;
  border-radius: var(--radius);
  white-space: nowrap;
}

/* ============================================================
   SECTION 9 – TESTIMONIALS
   ============================================================ */
#testimonials {
  padding: 120px 0;
  background: var(--dark-3);
  position: relative;
  overflow: hidden;
}
#testimonials::before {
  content: '';
  position: absolute;
  top: -200px; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(60,211,205,.08) 0%, transparent 70%);
  pointer-events: none;
}

#testimonials .section-title { color: var(--white); }
#testimonials .section-desc { color: rgba(255,255,255,.5); }
#testimonials .section-subtitle { color: var(--primary); background: rgba(60,211,205,.08); border-color: rgba(60,211,205,.3); }

.testi-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  padding: 40px;
  height: 100%;
  transition: var(--transition);
}
.testi-card:hover {
  background: rgba(255,255,255,.07);
  border-color: rgba(60,211,205,.2);
}

.testi-stars { display: flex; gap: 4px; margin-bottom: 20px; }
.testi-stars i { color: #facc15; font-size: .9rem; }

.testi-quote {
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(255,255,255,.7);
  font-style: italic;
  margin-bottom: 28px;
  position: relative;
  padding-left: 20px;
}
.testi-quote::before {
  content: '"';
  position: absolute;
  left: 0; top: -4px;
  font-family: var(--font-head);
  font-size: 2rem;
  color: var(--primary);
  line-height: 1;
}

.testi-author { display: flex; align-items: center; gap: 14px; }
.testi-avatar {
  width: 52px; height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--primary);
}
.testi-avatar-placeholder {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--dark));
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-head);
  font-weight: 700;
  color: var(--white);
  font-size: 1.1rem;
  flex-shrink: 0;
  border: 2px solid var(--primary);
	overflow: hidden;
}
.testi-name {
  font-family: var(--font-head);
  font-weight: 700;
  color: var(--white);
  font-size: .95rem;
}
.testi-role { font-size: .8rem; color: rgba(255,255,255,.4); }

/* ============================================================
   SECTION 10 – WHY CHOOSE US
   ============================================================ */
#why-us {
  padding: 120px 0;
  background: var(--white);
}

.why-header { max-width: 640px; }

.why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-2); border-radius: 24px; overflow: hidden; }
.why-item {
  background: var(--white);
  padding: 40px 32px;
  transition: var(--transition);
  position: relative;
}
.why-item:hover { background: var(--gray-1); }
.why-item:hover .why-icon { background: var(--primary); color: var(--dark); }

.why-icon {
  width: 56px; height: 56px;
  background: rgba(60,211,205,.1);
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  color: var(--primary);
  margin-bottom: 20px;
  transition: var(--transition);
}
.why-item h4 {
  font-size: 1rem;
  margin-bottom: 10px;
  color: var(--dark);
}
.why-item p {
  font-size: .88rem;
  color: var(--gray-3);
  line-height: 1.7;
}

/* ============================================================
   SECTION 11 – CTA WITH IMAGE
   ============================================================ */
#cta-2 {
  padding: 120px 0;
  background: var(--gray-1);
}

.cta2-inner {
  background: var(--dark);
  border-radius: 32px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 440px;
  position: relative;
}
.cta2-content {
  padding: 64px 56px;
}
.cta2-inner .section-title { color: var(--white); margin-bottom: 16px; }
.cta2-inner .section-desc { color: rgba(255,255,255,.55); margin-bottom: 36px; }
.cta2-inner .section-subtitle { color: var(--primary); background: rgba(60,211,205,.1); border-color: rgba(60,211,205,.3); }

.cta2-image {
  position: relative;
  overflow: hidden;
}
.cta2-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cta2-image::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--dark) 0%, transparent 50%);
  z-index: 1;
}
.cta2-deco {
  position: absolute;
  top: 50%; right: -30px;
  transform: translateY(-50%);
  width: 200px; height: 200px;
  background: var(--primary);
  border-radius: 50%;
  opacity: .1;
  z-index: 0;
}

/* ============================================================
   SECTION 12 – METHODOLOGY
   ============================================================ */
#methodology {
  padding: 120px 0;
  background: var(--dark-3);
}

#methodology .section-title { color: var(--white); }
#methodology .section-desc { color: rgba(255,255,255,.5); }
#methodology .section-subtitle { color: var(--primary); background: rgba(60,211,205,.08); border-color: rgba(60,211,205,.3); }

.method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.06); border-radius: 24px; overflow: hidden; }
.method-item {
  background: var(--dark-3);
  padding: 40px 32px;
  transition: var(--transition);
  position: relative;
}
.method-item:hover { background: rgba(255,255,255,.04); }
.method-step {
  font-family: var(--font-head);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 16px;
}
.method-icon {
  width: 52px; height: 52px;
  background: rgba(60,211,205,.1);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem;
  color: var(--primary);
  margin-bottom: 18px;
  transition: var(--transition);
}
.method-item:hover .method-icon { background: var(--primary); color: var(--dark); }
.method-item h4 { font-size: 1rem; color: var(--white); margin-bottom: 10px; }
.method-item p { font-size: .88rem; color: rgba(255,255,255,.45); line-height: 1.7; }

/* ============================================================
   SECTION 13 – SIMPLE CTA
   ============================================================ */
#cta-simple {
  padding: 80px 0;
  background: var(--primary);
  text-align: center;
}
#cta-simple .cta-title {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 14px;
}
#cta-simple .cta-desc {
  color: rgba(39,64,83,.7);
  font-size: 1.05rem;
  margin-bottom: 36px;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

/* ============================================================
   SECTION 14 – FAQs
   ============================================================ */
#faqs {
  padding: 120px 0;
  background: var(--gray-1);
}

.faqs-header { max-width: 600px; }

.faq-item {
  background: var(--white);
  border: 1px solid var(--gray-2);
  border-radius: 16px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: var(--transition);
}
.faq-item.active { border-color: var(--primary); box-shadow: 0 4px 24px rgba(60,211,205,.12); }

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 28px;
  cursor: pointer;
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 1rem;
  color: var(--dark);
  transition: var(--transition);
  user-select: none;
}
.faq-question:hover { color: var(--primary-dark); }
.faq-icon {
  width: 32px; height: 32px;
  background: var(--gray-1);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--gray-3);
  flex-shrink: 0;
  transition: var(--transition);
  font-size: .9rem;
}
.faq-item.active .faq-icon {
  background: var(--primary);
  color: var(--dark);
  transform: rotate(45deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease;
}
.faq-answer-inner {
  padding: 0 28px 22px;
  color: var(--gray-3);
  font-size: .95rem;
  line-height: 1.8;
}
.faq-item.active .faq-answer { max-height: 300px; }

/* ============================================================
   SECTION 15 – CONTACT
   ============================================================ */
#contact {
  padding: 120px 0;
  background: var(--white);
}

.contact-info-card {
  background: var(--dark);
  border-radius: 24px;
  padding: 48px 40px;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.contact-info-card::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(60,211,205,.2) 0%, transparent 70%);
}

.contact-info-card h3 {
  font-size: 1.8rem;
  color: var(--white);
  margin-bottom: 12px;
}
.contact-info-card > p {
  color: rgba(255,255,255,.5);
  margin-bottom: 36px;
  font-size: .95rem;
  line-height: 1.7;
}

.contact-detail {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}
.contact-detail:last-of-type { margin-bottom: 36px; }
.contact-detail-icon {
  width: 44px; height: 44px;
  background: rgba(60,211,205,.15);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  color: var(--primary);
  font-size: 1rem;
  flex-shrink: 0;
}
.contact-detail-text label {
  display: block;
  font-size: .75rem;
  color: rgba(255,255,255,.4);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 2px;
}
.contact-detail-text a,
.contact-detail-text p {
  color: var(--white);
  font-size: .95rem;
  margin: 0;
}
.contact-detail-text a:hover { color: var(--primary); }

.social-links { display: flex; gap: 10px; }
.social-link {
  width: 40px; height: 40px;
  background: rgba(255,255,255,.08);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.6);
  font-size: .95rem;
  transition: var(--transition);
}
.social-link:hover { background: var(--primary); color: var(--dark); }

.contact-map {
  width: 100%;
  height: 240px;
  border-radius: 16px;
  overflow: hidden;
  margin: 36px 0 0;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.3);
  font-size: .9rem;
  position: relative;
}
.contact-map iframe {
  width: 100%; height: 100%;
  border: 0;
  border-radius: 16px;
}

.contact-form-wrap {
  background: var(--gray-1);
  border-radius: 24px;
  padding: 48px 40px;
}
.contact-form-wrap h3 {
  font-size: 1.6rem;
  color: var(--dark);
  margin-bottom: 8px;
}
.contact-form-wrap > p {
  color: var(--gray-3);
  margin-bottom: 32px;
  font-size: .95rem;
}

.form-group { margin-bottom: 20px; }
.form-group br {
    display: none;
}
.form-group p {
    margin-bottom: 0;
}
.form-group label {
  display: block;
  font-family: var(--font-head);
  font-weight: 600;
  font-size: .85rem;
  color: var(--dark);
  margin-bottom: 8px;
}
.form-control {
  width: 100%;
  background: var(--white);
  border: 1.5px solid var(--gray-2);
  border-radius: var(--radius-sm);
  padding: 14px 18px;
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--dark);
  transition: var(--transition);
  outline: none;
}
.form-control:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(60,211,205,.15);
}
textarea.form-control { resize: vertical; min-height: 140px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

/* ============================================================
   FOOTER
   ============================================================ */
#footer {
  background: var(--dark-3);
  position: relative;
  overflow: hidden;
}
#footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--primary), transparent);
}

.footer-main {
  padding: 80px 0 60px;
}

.footer-widget { margin-bottom: 40px; }
.footer-logo img {
	height: 55px;
	width: auto;
	margin-bottom: 20px;
}
.footer-logo span { color: var(--primary); }

.footer-about-text {
  color: rgba(255,255,255,.45);
  font-size: .92rem;
  line-height: 1.8;
  margin-bottom: 24px;
}

.footer-widget-title {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 24px;
  position: relative;
  padding-bottom: 12px;
}
.footer-widget-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 32px; height: 2px;
  background: var(--primary);
  border-radius: 2px;
}

.footer-nav { list-style: none; padding: 0; margin: 0; }
.footer-nav li { margin-bottom: 12px; }
.footer-nav li a {
  color: rgba(255,255,255,.45);
  font-size: .9rem;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: var(--transition);
}
.footer-nav li a::before {
  content: '';
  width: 6px; height: 1px;
  background: var(--primary);
  transition: var(--transition);
  flex-shrink: 0;
}
.footer-nav li a:hover { color: var(--primary); padding-left: 4px; }

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 18px;
  color: rgba(255,255,255,.45);
  font-size: .9rem;
}
.footer-contact-item i { color: var(--primary); font-size: 1rem; margin-top: 2px; flex-shrink: 0; }
.footer-contact-item a { color: rgba(255,255,255,.45); }
.footer-contact-item a:hover { color: var(--primary); }

.footer-bottom {
  background: rgba(0,0,0,.2);
  padding: 20px 0;
  border-top: 1px solid rgba(255,255,255,.06);
}
.footer-copy {
  color: rgba(255,255,255,.3);
  font-size: .82rem;
}
.footer-copy span { color: var(--primary); }
.footer-bottom-nav { list-style: none; display: flex; gap: 20px; margin: 0; padding: 0; flex-wrap: wrap; }
.footer-bottom-nav li a {
  color: rgba(255,255,255,.3);
  font-size: .82rem;
  transition: var(--transition);
}
.footer-bottom-nav li a:hover { color: var(--primary); }

/* ============================================================
   SWIPER CUSTOM
   ============================================================ */
.swiper-pagination-bullet { background: var(--gray-3); opacity: 1; }
.swiper-pagination-bullet-active { background: var(--primary); }

.swiper-btn {
  width: 46px; height: 46px;
  background: var(--white);
  border: 1.5px solid var(--gray-2);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: var(--transition);
  color: var(--dark);
  font-size: 1rem;
}
.swiper-btn:hover { background: var(--primary); border-color: var(--primary); color: var(--dark); }
.swiper-btn-dark { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.12); color: var(--white); }
.swiper-btn-dark:hover { background: var(--primary); color: var(--dark); border-color: var(--primary); }

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes fadeDown {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeLeft {
  from { opacity: 0; transform: translateX(30px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
@keyframes spin-slow {
  to { transform: rotate(360deg); }
}

.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1200px) {
  .case-card:nth-child(1) { grid-column: span 12; grid-row: span 1; }
  .case-card:nth-child(1) img { min-height: 360px; }
  .case-card:nth-child(n+2) { grid-column: span 6; }
}

@media (max-width: 992px) {
  .about-content { padding-left: 0; margin-top: 60px; }
  .cta2-inner { grid-template-columns: 1fr; }
  .cta2-image { min-height: 300px; }
  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .method-grid { grid-template-columns: repeat(2, 1fr); }
  .form-row { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .header-top { display: none; }
  .main-nav { display: none; flex-direction: column; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--dark-3); z-index: 999; padding: 80px 32px 32px; gap: 4px; }
  .main-nav.open { display: flex; }
  .main-nav li a { font-size: 1.2rem; padding: 12px 16px; border-radius: var(--radius-sm); }
  .hamburger { display: flex; }
  .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity: 0; }
  .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .hero-float-1, .hero-float-2 { display: none; }
  .why-grid { grid-template-columns: 1fr; }
  .method-grid { grid-template-columns: 1fr; }
  .case-card:nth-child(n) { grid-column: span 12; }
  .case-card img { min-height: 240px !important; }
  .contact-form-wrap, .contact-info-card { padding: 32px 24px; }
}

@media (max-width: 576px) {
  .hero-stats { gap: 24px; }
  .stat-item:not(:last-child)::after { display: none; }
  .footer-bottom .d-flex { flex-direction: column; gap: 12px; }
}


/* ============================================================
   ② NEW CSS — SERVICE SINGLE PAGE ONLY
      Add these styles to your main stylesheet (global.css or style.css).
      Everything below is NEW and does not exist in the homepage CSS.
   ============================================================ */

/* ------------------------------------------------------------------
   BREADCRUMB BAR
   A slim contextual path shown above the service intro hero.
   ------------------------------------------------------------------ */
.svc-breadcrumb {
  background: var(--dark-2);
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.svc-breadcrumb ol {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}
.svc-breadcrumb li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .8rem;
  color: rgba(255,255,255,.4);
}
.svc-breadcrumb li a {
  color: rgba(255,255,255,.5);
  transition: var(--transition);
}
.svc-breadcrumb li a:hover { color: var(--primary); }
.svc-breadcrumb li.active { color: var(--primary); }
.svc-breadcrumb li + li::before {
  content: '/';
  color: rgba(255,255,255,.2);
  font-size: .75rem;
}

/* ------------------------------------------------------------------
   SECTION 1 — SERVICE INTRO HERO
   Unique to this page. Dark split-screen layout:
   left = content, right = floating image with decorative rings.
   ------------------------------------------------------------------ */
#svc-intro {
  padding: 200px 0 120px;         /* extra top padding for fixed header */
  background: var(--dark-3);
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  align-items: center;
}

/* subtle diagonal grid overlay */
#svc-intro::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(60,211,205,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60,211,205,.05) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
}

/* large ambient glow behind image */
.svc-intro-glow {
  position: absolute;
  width: 700px;
  height: 700px;
  right: -200px;
  top: 50%;
  transform: translateY(-50%);
  background: radial-gradient(circle, rgba(60,211,205,.12) 0%, transparent 65%);
  pointer-events: none;
  border-radius: 50%;
}

/* left content */
.svc-intro-content { position: relative; z-index: 2; }

/* service icon badge above subtitle */
.svc-icon-badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: rgba(60,211,205,.08);
  border: 1px solid rgba(60,211,205,.2);
  border-radius: 14px;
  padding: 12px 20px;
  margin-bottom: 28px;
  animation: fadeDown .7s ease both;
}
.svc-icon-badge i {
  font-size: 1.6rem;
  color: var(--primary);
}
.svc-icon-badge span {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .85rem;
  color: rgba(255,255,255,.7);
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* hero heading on dark bg */
.svc-intro-title {
  font-size: clamp(2.6rem, 5.5vw, 4.4rem);
  line-height: 1.08;
  color: var(--white);
  margin-bottom: 24px;
  animation: fadeDown .7s .1s ease both;
}
.svc-intro-title em {
  font-style: normal;
  color: var(--primary);
  position: relative;
  display: inline-block;
}
/* animated underline on title accent */
.svc-intro-title em::after {
  content: '';
  position: absolute;
  left: 0; bottom: 2px; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary), transparent);
  border-radius: 2px;
  opacity: .5;
}

.svc-intro-desc {
  font-size: 1.1rem;
  line-height: 1.85;
  color: rgba(255,255,255,.55);
  max-width: 520px;
  margin-bottom: 40px;
  animation: fadeDown .7s .2s ease both;
}

.svc-intro-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 56px;
  animation: fadeDown .7s .3s ease both;
}

/* compact pill list of quick-win features */
.svc-intro-features {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  animation: fadeDown .7s .4s ease both;
}
.svc-feature-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50px;
  padding: 7px 16px;
  font-size: .8rem;
  color: rgba(255,255,255,.65);
  font-weight: 500;
}
.svc-feature-pill i {
  color: var(--primary);
  font-size: .85rem;
}

/* ---- right: image with orbital ring decorations ---- */
.svc-intro-visual {
  position: relative;
  z-index: 2;
  padding: 48px;
  animation: fadeDown .9s .2s ease both;
}

/* the actual image */
.svc-intro-img {
  width: 100%;
  border-radius: 28px;
  display: block;
  object-fit: cover;
  aspect-ratio: 1 / 1.05;
  position: relative;
  z-index: 2;
  box-shadow: 0 40px 100px rgba(0,0,0,.5);
}

/* decorative ring 1 — teal dashed */
.svc-intro-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.svc-intro-ring-1 {
  inset: 0;
  border: 2px dashed rgba(60,211,205,.25);
  border-radius: 50%;
  animation: spin-ring 18s linear infinite;
}
.svc-intro-ring-2 {
  inset: 16px;
  border: 1px solid rgba(60,211,205,.1);
  border-radius: 50%;
  animation: spin-ring 26s linear infinite reverse;
}
@keyframes spin-ring {
  to { transform: rotate(360deg); }
}

/* corner accent squares */
.svc-intro-corner {
  position: absolute;
  width: 20px; height: 20px;
  border-color: var(--primary);
  border-style: solid;
  border-width: 0;
  z-index: 3;
}
.svc-intro-corner.tl { top: 36px; left: 36px; border-top-width: 3px; border-left-width: 3px; border-radius: 4px 0 0 0; }
.svc-intro-corner.tr { top: 36px; right: 36px; border-top-width: 3px; border-right-width: 3px; border-radius: 0 4px 0 0; }
.svc-intro-corner.bl { bottom: 36px; left: 36px; border-bottom-width: 3px; border-left-width: 3px; border-radius: 0 0 0 4px; }
.svc-intro-corner.br { bottom: 36px; right: 36px; border-bottom-width: 3px; border-right-width: 3px; border-radius: 0 0 4px 0; }

/* floating mini stat cards on image */
.svc-intro-stat {
  position: absolute;
  background: rgba(15,30,42,.85);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(60,211,205,.2);
  border-radius: 14px;
  padding: 14px 18px;
  z-index: 4;
  white-space: nowrap;
}
.svc-intro-stat-1 {
  top: 10%;
  left: -10px;
  animation: float 5s ease-in-out infinite;
}
.svc-intro-stat-2 {
  bottom: 12%;
  right: -10px;
  animation: float 5s 1.8s ease-in-out infinite;
}
.svc-intro-stat .stat-label {
  font-size: .7rem;
  color: rgba(255,255,255,.4);
  font-weight: 500;
  margin-bottom: 3px;
}
.svc-intro-stat .stat-val {
  font-family: var(--font-head);
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--white);
}
.svc-intro-stat .stat-trend {
  display: inline-block;
  font-size: .72rem;
  font-weight: 600;
  color: #4ade80;
  background: rgba(74,222,128,.1);
  padding: 2px 8px;
  border-radius: 20px;
  margin-top: 2px;
}

/* ------------------------------------------------------------------
   SECTION 2 — ABOUT SERVICE
   Reuses .about-image-wrap, .about-content, .about-list from homepage.
   Badge text is customizable via content.
   ------------------------------------------------------------------ */
#svc-about {
  padding: 120px 0;
  background: var(--gray-1);
}

/* ------------------------------------------------------------------
   SECTION 11 — METHODOLOGY (2-column, icon left / text right)
   New layout — replaces the 3-column grid used on homepage.
   ------------------------------------------------------------------ */
#svc-methodology {
  padding: 120px 0;
  background: var(--dark-3);
}
#svc-methodology .section-title { color: var(--white); }
#svc-methodology .section-desc { color: rgba(255,255,255,.5); }
#svc-methodology .section-subtitle {
  color: var(--primary);
  background: rgba(60,211,205,.08);
  border-color: rgba(60,211,205,.3);
}

/* 2-column grid for the methodology items */
.svc-method-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* single methodology item: icon block left, text block right */
.svc-method-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 20px;
  padding: 28px 32px;
  transition: var(--transition);
}
.svc-method-item:hover {
  background: rgba(255,255,255,.07);
  border-color: rgba(60,211,205,.25);
  transform: translateY(-3px);
}

/* icon column */
.svc-method-icon-wrap {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.svc-method-icon {
  width: 52px;
  height: 52px;
  background: rgba(60,211,205,.12);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  color: var(--primary);
  transition: var(--transition);
  flex-shrink: 0;
}
.svc-method-item:hover .svc-method-icon {
  background: var(--primary);
  color: var(--dark);
}
/* vertical step line under icon */
.svc-method-line {
  width: 2px;
  flex: 1;
  min-height: 20px;
  background: linear-gradient(to bottom, rgba(60,211,205,.3), transparent);
  border-radius: 2px;
}

/* text column */
.svc-method-body {}
.svc-method-step {
  font-family: var(--font-head);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 6px;
  opacity: .7;
}
.svc-method-body h4 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 8px;
  line-height: 1.3;
}
.svc-method-body p {
  font-size: .875rem;
  color: rgba(255,255,255,.42);
  line-height: 1.7;
  margin: 0;
}

/* ------------------------------------------------------------------
   RESPONSIVE — NEW (service page additions only)
   ------------------------------------------------------------------ */
@media (max-width: 1100px) {
  .svc-intro-visual { padding: 32px; }
}

@media (max-width: 992px) {
  #svc-intro { padding: 160px 0 80px; min-height: auto; }
  .svc-intro-visual { margin-top: 48px; }
  .svc-method-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .svc-intro-title { font-size: clamp(2.2rem, 7vw, 3.2rem); }
  .svc-intro-stat-1, .svc-intro-stat-2 { display: none; }
  .svc-method-grid { grid-template-columns: 1fr; }
}

@media (max-width: 576px) {
  .svc-intro-visual { padding: 20px; }
  .svc-intro-corner { display: none; }
}


/* ============================================================
   ② NEW CSS — BLOG SINGLE PAGE ONLY
      Add only this block to your stylesheet.
      Uses 'Lora' for article body text (already imported above).
   ============================================================ */

/* ------------------------------------------------------------------
   BLOG READING PROGRESS BAR
   Thin teal line at very top of viewport showing read progress.
   ------------------------------------------------------------------ */
.reading-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--primary-dark));
  width: 0%;
  z-index: 2000;
  transition: width .1s linear;
  border-radius: 0 2px 2px 0;
}

/* ------------------------------------------------------------------
   BLOG HERO
   Full-width dark banner with image, category badge, title, meta.
   ------------------------------------------------------------------ */
#blog-hero {
  padding: 120px 0 0;
  background: var(--dark-3);
  position: relative;
  overflow: hidden;
}

/* grid overlay */
#blog-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(60,211,205,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60,211,205,.04) 1px, transparent 1px);
  background-size: 56px 56px;
  pointer-events: none;
}

.blog-hero-inner {
  position: relative;
  z-index: 2;
  padding-bottom: 56px;
}

/* category pill */
.blog-cat-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--primary);
  color: var(--dark);
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 50px;
  margin-bottom: 20px;
  animation: fadeDown .6s ease both;
}

/* hero post title */
.blog-hero-title {
  line-height: 1.1;
  color: var(--white);
  margin-bottom: 28px;
  animation: fadeDown .6s .1s ease both;
}

/* meta row: author, date, read time */
.blog-hero-meta {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 44px;
  animation: fadeDown .6s .2s ease both;
}
.blog-author-chip {
  display: flex;
  align-items: center;
  gap: 10px;
}
.blog-author-avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--dark));
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-head);
  font-weight: 700;
  color: var(--white);
  font-size: .95rem;
  border: 2px solid rgba(60,211,205,.4);
  flex-shrink: 0;
}
.blog-author-name {
  font-family: var(--font-head);
  font-weight: 600;
  color: var(--white);
  font-size: .9rem;
}
.blog-author-role {
  font-size: .75rem;
  color: rgba(255,255,255,.4);
}
.blog-meta-sep {
  width: 4px; height: 4px;
  border-radius: 50%;
  background: rgba(255,255,255,.25);
  flex-shrink: 0;
}
.blog-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,.45);
  font-size: .82rem;
}
.blog-meta-item i { color: var(--primary); font-size: .85rem; }

/* hero image — overlaps into white content below */
.blog-hero-image {
  position: relative;
  z-index: 2;
  border-radius: 24px 24px 0 0;
  overflow: hidden;
  animation: fadeDown .7s .3s ease both;
}
.blog-hero-image img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
}
/* teal bottom-fade overlay on image */
.blog-hero-image::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 120px;
  background: linear-gradient(to top, var(--white), transparent);
}

/* ------------------------------------------------------------------
   BLOG LAYOUT: sidebar + content
   ------------------------------------------------------------------ */
#blog-body {
  padding: 60px 0 100px;
  background: var(--white);
}

/* sticky sidebar */
.blog-sidebar {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* ------------------------------------------------------------------
   ARTICLE CONTENT TYPOGRAPHY
   Uses Lora for that editorial, premium reading feel.
   ------------------------------------------------------------------ */
.blog-article {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.1rem;
  line-height: 1.9;
  color: #3a4f60;
}
.blog-article p {
  margin-bottom: 28px;
}
.blog-article h2 {
  font-family: var(--font-head);
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--dark);
  margin: 48px 0 20px;
  padding-top: 8px;
  line-height: 1.2;
}
.blog-article h3 {
  font-family: var(--font-head);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--dark);
  margin: 36px 0 16px;
}
.blog-article h4 {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--dark);
  margin: 28px 0 12px;
}
/* lead paragraph */
.blog-article .blog-lead {
  font-family: var(--font-body);
  font-size: 1.2rem;
  line-height: 1.75;
  color: var(--dark);
  font-weight: 400;
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--gray-2);
}

/* pull-quote / blockquote */
.blog-article blockquote {
  margin: 40px 0;
  padding: 32px 36px;
  background: var(--gray-1);
  border-left: 4px solid var(--primary);
  border-radius: 0 var(--radius) var(--radius) 0;
  position: relative;
}
.blog-article blockquote::before {
  content: '\201C';
  font-family: var(--font-head);
  font-size: 5rem;
  color: var(--primary);
  opacity: .25;
  position: absolute;
  top: -10px; left: 20px;
  line-height: 1;
}
.blog-article blockquote p {
  font-family: var(--font-head);
  font-size: 1.2rem;
  font-style: italic;
  color: var(--dark);
  margin: 0 0 12px;
  position: relative;
  z-index: 1;
}
.blog-article blockquote cite {
  font-family: var(--font-body);
  font-size: .82rem;
  color: var(--gray-3);
  font-style: normal;
  font-weight: 600;
  letter-spacing: .05em;
}

/* inline image */
.blog-article .article-img {
  width: 100%;
  border-radius: var(--radius);
  margin: 36px 0;
  display: block;
  object-fit: cover;
}
.blog-article .article-img-caption {
  display: block;
  text-align: center;
  font-family: var(--font-body);
  font-size: .8rem;
  color: var(--gray-3);
  margin-top: -28px;
  margin-bottom: 36px;
  font-style: italic;
}

/* ordered / unordered lists */
.blog-article ul,
.blog-article ol {
  padding-left: 0;
  margin-bottom: 28px;
  list-style: none;
}
.blog-article ul li,
.blog-article ol li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
  font-size: 1.05rem;
  line-height: 1.7;
}
.blog-article ul li::before {
  content: '';
  position: absolute;
  left: 0; top: 11px;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--primary);
}
.blog-article ol { counter-reset: ol-counter; }
.blog-article ol li { counter-increment: ol-counter; }
.blog-article ol li::before {
  content: counter(ol-counter);
  position: absolute;
  left: 0; top: 2px;
  width: 20px; height: 20px;
  background: var(--primary);
  color: var(--dark);
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 800;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}

/* inline highlight box */
.blog-highlight {
  background: rgba(60,211,205,.08);
  border: 1px solid rgba(60,211,205,.2);
  border-radius: var(--radius);
  padding: 24px 28px;
  margin: 36px 0;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.blog-highlight-icon {
  width: 40px; height: 40px;
  background: var(--primary);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  color: var(--dark);
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 2px;
}
.blog-highlight p {
  font-family: var(--font-body);
  font-size: .95rem;
  line-height: 1.7;
  color: var(--dark);
  margin: 0 !important;
}
.blog-highlight strong { color: var(--primary-dark); }

/* numbered tip cards */
.blog-tip-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 36px 0;
}
.blog-tip-card {
  background: var(--gray-1);
  border: 1px solid var(--gray-2);
  border-radius: var(--radius);
  padding: 24px 20px;
  position: relative;
  transition: var(--transition);
}
.blog-tip-card:hover {
  border-color: rgba(60,211,205,.3);
  box-shadow: var(--shadow-card);
  transform: translateY(-3px);
}
.blog-tip-num {
  font-family: var(--font-head);
  font-size: 2rem;
  font-weight: 800;
  color: rgba(60,211,205,.2);
  line-height: 1;
  margin-bottom: 8px;
}
.blog-tip-card h4 {
  font-family: var(--font-head);
  font-size: .95rem;
  color: var(--dark);
  margin-bottom: 8px;
}
.blog-tip-card p {
  font-family: var(--font-body);
  font-size: .85rem;
  color: var(--gray-3);
  line-height: 1.6;
  margin: 0 !important;
}

/* article divider */
.blog-divider {
  border: none;
  border-top: 1px solid var(--gray-2);
  margin: 48px 0;
}

/* ------------------------------------------------------------------
   ARTICLE FOOTER: TAGS + SHARE
   ------------------------------------------------------------------ */
.blog-tags-share {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: 28px 0;
  border-top: 1px solid var(--gray-2);
  border-bottom: 1px solid var(--gray-2);
  margin-top: 48px;
  margin-bottom: 48px;
}
.blog-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.blog-tag-label {
  font-family: var(--font-head);
  font-size: .78rem;
  font-weight: 700;
  color: var(--gray-3);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-right: 4px;
}
.blog-tag {
  background: var(--gray-1);
  border: 1px solid var(--gray-2);
  color: var(--dark);
  font-size: .78rem;
  font-weight: 500;
  padding: 5px 14px;
  border-radius: 50px;
  transition: var(--transition);
}
.blog-tag:hover {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--dark);
}
.blog-share {
  display: flex;
  align-items: center;
  gap: 8px;
}
.blog-share-label {
  font-family: var(--font-head);
  font-size: .78rem;
  font-weight: 700;
  color: var(--gray-3);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-right: 4px;
}
.share-btn {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: var(--gray-1);
  border: 1px solid var(--gray-2);
  display: flex; align-items: center; justify-content: center;
  color: var(--dark);
  font-size: .9rem;
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
}
.share-btn:hover { background: var(--primary); border-color: var(--primary); color: var(--dark); }

/* ------------------------------------------------------------------
   AUTHOR BIO CARD
   ------------------------------------------------------------------ */
.blog-author-card {
  background: var(--gray-1);
  border: 1px solid var(--gray-2);
  border-radius: 24px;
  padding: 36px;
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 48px;
}
.blog-author-card-avatar {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--dark));
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-head);
  font-weight: 800;
  color: var(--white);
  font-size: 1.6rem;
  flex-shrink: 0;
  border: 3px solid var(--primary);
}
.blog-author-card-body {}
.blog-author-card-role {
  font-size: .75rem;
  font-weight: 600;
  color: var(--primary-dark);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 4px;
}
.blog-author-card-name {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 10px;
}
.blog-author-card-bio {
  font-size: .92rem;
  line-height: 1.7;
  color: var(--gray-3);
  margin-bottom: 16px;
}
.blog-author-card-socials { display: flex; gap: 8px; }
.author-social {
  width: 34px; height: 34px;
  background: var(--white);
  border: 1px solid var(--gray-2);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--dark);
  font-size: .85rem;
  transition: var(--transition);
}
.author-social:hover { background: var(--primary); border-color: var(--primary); color: var(--dark); }

/* ------------------------------------------------------------------
   TABLE OF CONTENTS (sidebar widget)
   ------------------------------------------------------------------ */
.sidebar-widget {
  background: var(--gray-1);
  border: 1px solid var(--gray-2);
  border-radius: 20px;
  padding: 28px;
}
.sidebar-widget-title {
  font-family: var(--font-head);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--dark);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--gray-2);
}
.sidebar-widget-title i { color: var(--primary); }

.toc-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.toc-list li a {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: .88rem;
  color: var(--gray-3);
  font-weight: 500;
  transition: var(--transition);
  line-height: 1.4;
}
.toc-list li a:hover,
.toc-list li a.toc-active {
  background: rgba(60,211,205,.1);
  color: var(--primary-dark);
}
.toc-list li a .toc-num {
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 700;
  color: var(--primary);
  background: rgba(60,211,205,.15);
  width: 22px; height: 22px;
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ------------------------------------------------------------------
   SIDEBAR CTA WIDGET
   ------------------------------------------------------------------ */
.sidebar-cta {
  background: var(--dark);
  border-radius: 20px;
  padding: 32px 28px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.sidebar-cta::before {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(60,211,205,.2) 0%, transparent 70%);
}
.sidebar-cta-icon {
  width: 56px; height: 56px;
  background: var(--primary);
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
  color: var(--dark);
  margin: 0 auto 16px;
  position: relative;
  z-index: 1;
}
.sidebar-cta h4 {
  font-size: 1.1rem;
  color: var(--white);
  margin-bottom: 10px;
  position: relative; z-index: 1;
}
.sidebar-cta p {
  font-size: .85rem;
  color: rgba(255,255,255,.5);
  line-height: 1.6;
  margin-bottom: 20px;
  position: relative; z-index: 1;
}
.sidebar-cta a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--primary);
  color: var(--dark);
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .85rem;
  padding: 11px 22px;
  border-radius: 50px;
  transition: var(--transition);
  position: relative; z-index: 1;
  border: 2px solid var(--primary);
}
.sidebar-cta a:hover { background: transparent; color: var(--primary); }

/* ------------------------------------------------------------------
   SIDEBAR POPULAR POSTS WIDGET
   ------------------------------------------------------------------ */
.popular-post {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--gray-2);
}
.popular-post:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
.popular-post-img {
  width: 68px; height: 68px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
}
.popular-post-meta {
  font-size: .72rem;
  color: var(--primary-dark);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-bottom: 5px;
}
.popular-post-title {
  font-family: var(--font-head);
  font-size: .88rem;
  font-weight: 700;
  color: var(--dark);
  line-height: 1.35;
  transition: var(--transition);
}
.popular-post-title:hover { color: var(--primary-dark); }

/* ------------------------------------------------------------------
   NEWSLETTER SIDEBAR WIDGET
   ------------------------------------------------------------------ */
.sidebar-newsletter {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
  border-radius: 20px;
  padding: 28px;
  text-align: center;
}
.sidebar-newsletter h4 {
  font-size: 1.05rem;
  color: var(--dark);
  margin-bottom: 8px;
}
.sidebar-newsletter p {
  font-size: .82rem;
  color: rgba(39,64,83,.7);
  margin-bottom: 16px;
  line-height: 1.5;
}
.sidebar-newsletter input {
  width: 100%;
  border: none;
  border-radius: 8px;
  padding: 12px 14px;
  font-family: var(--font-body);
  font-size: .88rem;
  outline: none;
  margin-bottom: 10px;
  color: var(--dark);
}
.sidebar-newsletter button {
  width: 100%;
  background: var(--dark);
  color: var(--white);
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .85rem;
  border: none;
  border-radius: 8px;
  padding: 12px;
  cursor: pointer;
  transition: var(--transition);
}
.sidebar-newsletter button:hover { background: var(--dark-2); }

/* ------------------------------------------------------------------
   RELATED POSTS SECTION
   ------------------------------------------------------------------ */
#related-posts {
  padding: 80px 0 100px;
  background: var(--gray-1);
}
#related-posts .section-title { font-size: 1.8rem; margin-bottom: 40px; }

.related-card {
  background: var(--white);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--gray-2);
  transition: var(--transition);
  height: 100%;
}
.related-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
}
.related-card-img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  display: block;
}
.related-card-body {
  padding: 24px;
}
.related-card-cat {
  display: inline-block;
  background: rgba(60,211,205,.1);
  color: var(--primary-dark);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 12px;
}
.related-card-title {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--dark);
  line-height: 1.35;
  margin-bottom: 10px;
  transition: var(--transition);
  display: block;
}
.related-card-title:hover { color: var(--primary-dark); }
.related-card-excerpt {
  font-size: .88rem;
  color: var(--gray-3);
  line-height: 1.65;
  margin-bottom: 18px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.related-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid var(--gray-2);
}
.related-card-meta {
  font-size: .75rem;
  color: var(--gray-3);
  display: flex;
  align-items: center;
  gap: 6px;
}
.related-card-meta i { color: var(--primary); }
.related-card-link {
  font-family: var(--font-head);
  font-size: .8rem;
  font-weight: 700;
  color: var(--primary-dark);
  display: flex;
  align-items: center;
  gap: 5px;
  transition: var(--transition);
}
.related-card-link:hover { gap: 8px; color: var(--dark); }

/* ------------------------------------------------------------------
   BREADCRUMB
   ------------------------------------------------------------------ */
.svc-breadcrumb {
  background: var(--dark-2);
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.svc-breadcrumb ol { list-style: none; display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; flex-wrap: wrap; }
.svc-breadcrumb li { display: flex; align-items: center; gap: 8px; font-size: .8rem; color: rgba(255,255,255,.4); }
.svc-breadcrumb li a { color: rgba(255,255,255,.5); transition: var(--transition); }
.svc-breadcrumb li a:hover { color: var(--primary); }
.svc-breadcrumb li.active { color: var(--primary); }
.svc-breadcrumb li + li::before { content: '/'; color: rgba(255,255,255,.2); font-size: .75rem; }

/* ------------------------------------------------------------------
   RESPONSIVE — NEW
   ------------------------------------------------------------------ */
@media (max-width: 992px) {
  .blog-sidebar { position: static; }
  .blog-hero-image img { height: 340px; }
  .blog-tip-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  #blog-hero { padding: 150px 0 0; }
  .blog-hero-title { font-size: clamp(1.8rem, 6vw, 2.8rem); }
  .blog-author-card { flex-direction: column; }
  .blog-tags-share { flex-direction: column; align-items: flex-start; }
  .blog-hero-image img { height: 260px; }
}


/* ============================================================
   ② NEW CSS — BLOG LISTING PAGE ONLY
      Copy only this block into your stylesheet.
   ============================================================ */

/* ------------------------------------------------------------------
   SIMPLE PAGE HEADER
   Replaces the old blog-banner. Dark bar with breadcrumb + title.
   ------------------------------------------------------------------ */
#page-header {
  background: var(--dark-3);
  padding: 140px 0 52px;
  position: relative;
  overflow: hidden;
}

/* subtle grid texture */
#page-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(60,211,205,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60,211,205,.04) 1px, transparent 1px);
  background-size: 56px 56px;
  pointer-events: none;
}

/* small right-side glow — purely decorative */
#page-header::after {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(60,211,205,.1) 0%, transparent 70%);
  pointer-events: none;
  border-radius: 50%;
}

.page-header-inner {
  position: relative;
  z-index: 2;
}

/* breadcrumb inside the header */
.page-header-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 20px;
  padding: 0;
}

nav.rank-math-breadcrumb {
    color: #878f95;
    font-size: 13px;
}

nav.rank-math-breadcrumb .last {
    color: #3cd3cd;
}

nav.rank-math-breadcrumb p {
    margin: 0;
}

nav.rank-math-breadcrumb a {
    color: #878f95;
}

/* page title */
.page-header-title {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4.5vw, 3rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.1;
  margin: 0;
}
.page-header-title span { color: var(--primary); }

/* ------------------------------------------------------------------
   CATEGORY CARDS ROW
   Horizontal scrollable pill-style category filter cards.
   ------------------------------------------------------------------ */
#blog-categories {
  background: var(--white);
  padding: 56px 0 0;
}

.categories-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.categories-header h2 {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--dark);
  margin: 0;
}
.categories-view-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 700;
  color: var(--primary-dark);
  transition: var(--transition);
  white-space: nowrap;
}
.categories-view-all:hover { gap: 10px; color: var(--dark); }

/* swiper track for category cards */
.categories-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    gap: 10px;
}

/* individual category card */
.cat-card {
  background: var(--gray-1);
  border: 1.5px solid var(--gray-2);
  border-radius: 20px;
  padding: 28px 24px;
  cursor: pointer;
  transition: var(--transition);
  user-select: none;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  overflow: hidden;
}
.cat-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: var(--primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: var(--transition);
  border-radius: 0 0 20px 20px;
}
.cat-card:hover,
.cat-card.active {
  background: var(--white);
  border-color: var(--primary);
  box-shadow: 0 8px 32px rgba(60,211,205,.14);
  transform: translateY(-4px);
}
.cat-card:hover::after,
.cat-card.active::after {
  transform: scaleX(1);
}

.cat-card-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: rgba(60,211,205,.1);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.35rem;
  color: var(--primary);
  transition: var(--transition);
  flex-shrink: 0;
}
.cat-card:hover .cat-card-icon,
.cat-card.active .cat-card-icon {
  background: var(--primary);
  color: var(--dark);
}

.cat-card-name {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 4px;
  line-height: 1.2;
}
.cat-card-count {
  font-size: .78rem;
  color: var(--gray-3);
  font-weight: 500;
}
.cat-card.active .cat-card-count { color: var(--primary-dark); }

/* ------------------------------------------------------------------
   FEATURED POST (large hero card above the grid)
   ------------------------------------------------------------------ */
#blog-featured {
  padding: 56px 0 0;
  background: var(--white);
}

.featured-post {
  background: var(--dark);
  border-radius: 28px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  min-height: 420px;
  position: relative;
  transition: var(--transition);
}
.featured-post:hover { box-shadow: 0 24px 80px rgba(39,64,83,.22); }

.featured-post-image {
  position: relative;
  overflow: hidden;
}
.featured-post-image img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s ease;
}
.featured-post:hover .featured-post-image img { transform: scale(1.04); }
/* dark gradient from right into content */
.featured-post-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 60%, var(--dark) 100%);
}

.featured-post-body {
  padding: 52px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.featured-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--primary);
  color: var(--dark);
  font-family: var(--font-head);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 50px;
  margin-bottom: 20px;
  align-self: flex-start;
}
.featured-label i { font-size: .8rem; }

.featured-cat {
  display: inline-block;
  background: rgba(60,211,205,.15);
  color: var(--primary);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 14px;
  align-self: flex-start;
}

.featured-post-title {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.2;
  margin-bottom: 14px;
}
.featured-post-title a { color: inherit; }
.featured-post-title a:hover { color: var(--primary); }

.featured-post-excerpt {
  font-size: .92rem;
  color: rgba(255,255,255,.5);
  line-height: 1.75;
  margin-bottom: 28px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.featured-post-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.featured-author {
  display: flex;
  align-items: center;
  gap: 10px;
}
.featured-author-av {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--dark-2));
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-head);
  font-weight: 700;
  color: var(--white);
  font-size: .78rem;
  border: 2px solid rgba(60,211,205,.35);
  flex-shrink: 0;
}
.featured-author-name {
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 600;
  color: rgba(255,255,255,.7);
}
.featured-meta-sep {
  width: 3px; height: 3px;
  border-radius: 50%;
  background: rgba(255,255,255,.2);
}
.featured-meta-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: .78rem;
  color: rgba(255,255,255,.4);
}
.featured-meta-item i { color: var(--primary); font-size: .8rem; }

.featured-post-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--primary);
  color: var(--dark);
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .88rem;
  padding: 12px 24px;
  border-radius: 50px;
  border: 2px solid var(--primary);
  transition: var(--transition);
  align-self: flex-start;
}
.featured-post-link:hover { background: transparent; color: var(--primary); }

/* ------------------------------------------------------------------
   MAIN POSTS GRID
   ------------------------------------------------------------------ */
#blog-posts, #services-wrapper, .industries-wrapper {
  padding: 60px 0 100px;
  background: var(--white);
}

/* the post card — extends related-card with author chip */
.post-card {
  background: var(--white);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--gray-2);
  transition: var(--transition);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.post-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }

.post-card-img-wrap { position: relative; overflow: hidden; }
.post-card-img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.post-card:hover .post-card-img { transform: scale(1.05); }

/* reading-time badge overlaid on image */
.post-card-read-badge {
  position: absolute;
  bottom: 12px; right: 12px;
  background: rgba(15,30,42,.8);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.1);
  color: var(--white);
  font-size: .7rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.post-card-read-badge i { color: var(--primary); font-size: .75rem; }

.post-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.post-card-cat {
  display: inline-block;
  background: rgba(60,211,205,.1);
  color: var(--primary-dark);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 12px;
  transition: var(--transition);
  align-self: flex-start;
}
.post-card-cat:hover { background: var(--primary); color: var(--dark); }

.post-card-title {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--dark);
  line-height: 1.35;
  margin-bottom: 10px;
  transition: var(--transition);
  display: block;
}
.post-card-title:hover { color: var(--primary-dark); }

.post-card-excerpt {
  font-size: .875rem;
  color: var(--gray-3);
  line-height: 1.65;
  margin-bottom: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}

.post-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid var(--gray-2);
  gap: 10px;
}

/* mini author chip inside the post card footer */
.post-card-author {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.post-card-author-av {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--dark));
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-head);
  font-weight: 700;
  color: var(--white);
  font-size: .6rem;
  flex-shrink: 0;
  border: 1.5px solid rgba(60,211,205,.3);
}
.post-card-author-info { min-width: 0; }
.post-card-author-name {
  font-family: var(--font-head);
  font-size: .75rem;
  font-weight: 600;
  color: var(--dark);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.post-card-author-date {
  font-size: .68rem;
  color: var(--gray-3);
  white-space: nowrap;
}

.post-card-link {
  font-family: var(--font-head);
  font-size: .8rem;
  font-weight: 700;
  color: var(--primary-dark);
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  transition: var(--transition);
  white-space: nowrap;
}
.post-card-link:hover { gap: 8px; color: var(--dark); }

/* Pagination Styles */
.pagination-wrapper {
    margin-top: 50px;
    text-align: center;
}

.pagination {
    display: inline-flex;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: center;
}

.pagination ul {
    display: flex;
    gap: 5px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination li {
    display: inline-block;
}

.pagination a,
.pagination span {
    display: inline-block;
    padding: 8px 15px;
    background: #f5f5f5;
    color: #333;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.pagination a:hover {
    background: var(--primary-color, #007bff);
    color: #fff;
}

.pagination .current {
    background: var(--primary-color, #007bff);
    color: #fff;
    font-weight: bold;
}

.pagination .prev,
.pagination .next {
    background: #fff;
    border: 1px solid #ddd;
}

.pagination-info {
    margin-top: 15px;
    color: #666;
    font-size: 0.9rem;
}

/* ------------------------------------------------------------------
   RESPONSIVE — NEW
   ------------------------------------------------------------------ */
@media (max-width: 1100px) {
  .featured-post { grid-template-columns: 1fr; }
  .featured-post-image { min-height: 300px; }
  .featured-post-image::after { background: linear-gradient(to top, var(--dark) 0%, transparent 60%); }
  .featured-post-body { padding: 36px 36px 44px; }
}
@media (max-width: 992px) {
  .blog-newsletter-band { flex-direction: column; text-align: center; padding: 36px 28px; }
  .blog-newsletter-band-text { text-align: center; }
  .blog-newsletter-form { justify-content: center; width: 100%; }
  .blog-newsletter-form input { min-width: auto; width: 100%; }
  .blog-newsletter-form button { width: 100%; }
}
@media (max-width: 768px) {
  #page-header { padding: 130px 0 40px; }
  .page-header-title { font-size: clamp(1.7rem, 6vw, 2.2rem); }
  .posts-toolbar { flex-direction: column; align-items: flex-start; }
  .posts-filter-pills { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .featured-post-body { padding: 28px 24px 36px; }
}
@media (max-width: 576px) {
  .categories-header { flex-direction: column; align-items: flex-start; }
  .blog-newsletter-band { border-radius: 16px; }
}

/* ------------------------------------------------------------------
   FAQ MAIN BODY — two-column layout
   accordion groups
   ------------------------------------------------------------------ */
#faq-body {
  padding: 80px 0 100px;
  background: var(--white);
}

/* ------------------------------------------------------------------
   FAQ GROUPS
   Each group = subtitle + title + set of .faq-item accordions
   ------------------------------------------------------------------ */
.faq-group {
  margin-bottom: 64px;
  scroll-margin-top: 180px; /* offset for sticky tabs */
}
.faq-group:last-child { margin-bottom: 0; }

.faq-group-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--gray-2);
}
.faq-group-icon {
  width: 48px; height: 48px;
  background: rgba(60,211,205,.1);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem;
  color: var(--primary);
  flex-shrink: 0;
}
.faq-group-title {
  font-family: var(--font-head);
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--dark);
  margin: 0;
}
.faq-group-count {
  margin-left: auto;
  font-size: .75rem;
  color: var(--gray-3);
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ------------------------------------------------------------------
   BOTTOM CTA BAND
   Full-width teal strip at the bottom — same style as simple CTA
   ------------------------------------------------------------------ */
#faq-cta {
  background: var(--primary);
  padding: 72px 0;
  text-align: center;
}
#faq-cta h2 {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 14px;
}
#faq-cta p {
  color: rgba(39,64,83,.65);
  font-size: 1rem;
  margin-bottom: 36px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.7;
}
.btn-faq-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--dark);
  color: var(--white);
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .95rem;
  padding: 16px 36px;
  border-radius: 50px;
  border: 2px solid var(--dark);
  transition: var(--transition);
}
.btn-faq-cta:hover { background: transparent; color: var(--dark); }

/* ------------------------------------------------------------------
   RESPONSIVE — NEW
   ------------------------------------------------------------------ */
@media (max-width: 992px) {
  .faq-sidebar { position: static; }
  #faq-tabs { position: static; }
  .faq-group { scroll-margin-top: 24px; }
}
@media (max-width: 768px) {
  #page-header { padding: 130px 0 40px; }
  .page-header-title { font-size: clamp(1.7rem, 6vw, 2.2rem); }
  #faq-body { padding: 48px 0 72px; }
  .faq-tab-list { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
  #faq-tabs { overflow-x: auto; }
}
@media (max-width: 576px) {
  .faq-group-header { flex-wrap: wrap; }
  .faq-group-count { display: none; }
}


/* ------------------------------------------------------------------
   SECTION 2 — STORY
   Left: stacked image with ::before/::after borders + stat badge.
   Right: subtitle, title, two paragraphs, 4 inline stats, CTA.
   ------------------------------------------------------------------ */
#about-story {
  padding: 100px 0 110px;
  background: var(--white);
}

/* image frame — same technique as homepage about section */
.about-img-wrap {
  position: relative;
  padding: 24px 24px 24px 0;
}
.about-img-wrap img {
  width: 100%;
  border-radius: 20px;
  position: relative;
  z-index: 2;
  display: block;
  object-fit: cover;
  aspect-ratio: 4 / 5;
}
/* teal border offset frame */
.about-img-wrap::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  border: 3px solid var(--primary);
  border-radius: 20px;
  z-index: 1;
}
/* dark shadow block behind */
.about-img-wrap::after {
  content: '';
  position: absolute;
  bottom: -12px; left: 12px;
  width: calc(100% - 48px);
  height: calc(100% - 48px);
  background: var(--dark);
  border-radius: 20px;
  z-index: 0;
}
/* floating years badge */
.about-badge {
  position: absolute;
  bottom: 48px; right: -20px;
  background: var(--primary);
  color: var(--dark);
  border-radius: 20px;
  padding: 20px 24px;
  text-align: center;
  z-index: 3;
  box-shadow: 0 16px 40px rgba(60,211,205,.4);
}
.about-badge-num {
  font-family: var(--font-head);
  font-size: 2.6rem;
  font-weight: 800;
  line-height: 1;
}
.about-badge-text {
  font-size: .75rem;
  font-weight: 600;
  opacity: .75;
  max-width: 72px;
  line-height: 1.3;
  margin-top: 3px;
}

/* right content column */
.about-story-content { padding-left: 40px; }

.about-story-body {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--gray-3);
  margin-bottom: 20px;
}

/* 4 inline stat pills */
.about-stats-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 36px 0 40px;
}
.about-stat-box {
  background: var(--gray-1);
  border: 1px solid var(--gray-2);
  border-radius: 16px;
  padding: 22px 20px;
  transition: var(--transition);
}
.about-stat-box:hover {
  border-color: rgba(60,211,205,.35);
  box-shadow: var(--shadow-card);
}
.about-stat-val {
  font-family: var(--font-head);
  font-size: 2rem;
  font-weight: 800;
  color: var(--dark);
  line-height: 1;
  margin-bottom: 5px;
}
.about-stat-val span { color: var(--primary); }
.about-stat-label {
  font-size: .8rem;
  color: var(--gray-3);
  font-weight: 500;
  line-height: 1.4;
}

/* ------------------------------------------------------------------
   SECTION 3 — TEAM
   Dark background, 4-column team cards.
   ------------------------------------------------------------------ */
#about-team {
  padding: 100px 0 110px;
  background: var(--dark-3);
  position: relative;
}
/* grid overlay texture */
#about-team::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(60,211,205,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60,211,205,.04) 1px, transparent 1px);
  background-size: 56px 56px;
  pointer-events: none;
}
#about-team .section-title { color: var(--white); }
#about-team .section-desc  { color: rgba(255,255,255,.45); }
#about-team .section-subtitle {
  color: var(--primary);
  background: rgba(60,211,205,.08);
  border-color: rgba(60,211,205,.25);
}

/* team card */
.team-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  overflow: hidden;
  transition: var(--transition);
  position: relative;
}
.team-card:hover {
  background: rgba(255,255,255,.07);
  border-color: rgba(60,211,205,.25);
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
}

/* photo area */
.team-card-photo {
  position: relative;
  overflow: hidden;
}
.team-card-photo img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  object-position: top;
  display: block;
  transition: transform .5s ease;
  filter: grayscale(20%);
}
.team-card:hover .team-card-photo img {
  transform: scale(1.04);
  filter: grayscale(0%);
}
/* teal gradient overlay at bottom of photo */
.team-card-photo::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 80px;
  background: linear-gradient(to top, var(--dark-3), transparent);
}

/* card body */
.team-card-body {
  padding: 20px 24px 28px;
}
.team-card-name {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 4px;
}
.team-card-role {
  font-size: .78rem;
  color: var(--primary);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 12px;
}
.team-card-bio {
  font-size: .85rem;
  color: rgba(255,255,255,.4);
  line-height: 1.65;
  margin-bottom: 18px;
}
/* social icons row */
.team-card-socials {
  display: flex;
  gap: 8px;
}
.team-social {
  width: 32px; height: 32px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.45);
  font-size: .8rem;
  transition: var(--transition);
}
.team-social:hover {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--dark);
}

/* avatar placeholder (used when no real photo) */
.team-avatar-placeholder {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--dark-2) 0%, var(--dark) 100%);
  font-family: var(--font-head);
  font-size: 3rem;
  font-weight: 800;
  color: var(--primary);
  letter-spacing: -.02em;
}

/* ------------------------------------------------------------------
   SECTION 4 — MISSION & VISION
   White bg. Two large side-by-side cards with icon, label, heading,
   body copy. Clean and editorial — no dark backgrounds here so it
   contrasts nicely sandwiched between the two dark sections.
   ------------------------------------------------------------------ */
#about-mission {
  padding: 100px 0 110px;
  background: var(--gray-1);
  position: relative;
  overflow: hidden;
}

/* faint decorative circle top-right */
#about-mission::after {
  content: '';
  position: absolute;
  top: -100px; right: -100px;
  width: 440px; height: 440px;
  border-radius: 50%;
  border: 1.5px solid rgba(60,211,205,.12);
  pointer-events: none;
}

/* the two big cards */
.mv-card {
  background: var(--white);
  border: 1px solid var(--gray-2);
  border-radius: 28px;
  padding: 52px 48px;
  height: 100%;
  position: relative;
  overflow: hidden;
  transition: var(--transition);
}
.mv-card:hover {
  border-color: rgba(60,211,205,.3);
  box-shadow: var(--shadow);
  transform: translateY(-4px);
}
/* teal left accent bar */
.mv-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(to bottom, var(--primary), transparent);
  border-radius: 4px 0 0 4px;
}

/* large background letter */
.mv-card-bg-letter {
  position: absolute;
  top: -20px; right: 20px;
  font-family: var(--font-head);
  font-size: 10rem;
  font-weight: 800;
  color: rgba(60,211,205,.05);
  line-height: 1;
  user-select: none;
  pointer-events: none;
}

.mv-icon {
  width: 60px; height: 60px;
  background: rgba(60,211,205,.1);
  border-radius: 18px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  color: var(--primary);
  margin-bottom: 24px;
  transition: var(--transition);
}
.mv-card:hover .mv-icon {
  background: var(--primary);
  color: var(--dark);
}

.mv-label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--primary-dark);
  margin-bottom: 10px;
}

.mv-title {
  font-family: var(--font-head);
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 18px;
  line-height: 1.2;
}

.mv-body {
  font-size: .98rem;
  line-height: 1.85;
  color: var(--gray-3);
  margin-bottom: 28px;
}

/* bullet values list inside the card */
.mv-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mv-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .9rem;
  color: var(--dark);
  line-height: 1.5;
}
.mv-list li i {
  color: var(--primary);
  font-size: .9rem;
  margin-top: 2px;
  flex-shrink: 0;
}

/* ------------------------------------------------------------------
   SECTION 5 — WHY CHOOSE US
   Reuses .why-grid / .why-item / .why-icon from homepage exactly.
   Only the section wrapper and header are new.
   ------------------------------------------------------------------ */
#about-why {
  padding: 100px 0 110px;
  background: var(--white);
}

/* homepage why-grid styles (included here so the section is
   self-contained; skip these if already in your stylesheet) */
.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--gray-2);
  border-radius: 24px;
  overflow: hidden;
}
.why-item {
  background: var(--white);
  padding: 40px 32px;
  transition: var(--transition);
}
.why-item:hover { background: var(--gray-1); }
.why-item:hover .why-icon { background: var(--primary); color: var(--dark); }
.why-icon {
  width: 56px; height: 56px;
  background: rgba(60,211,205,.1);
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  color: var(--primary);
  margin-bottom: 20px;
  transition: var(--transition);
}
.why-item h4 { font-size: 1rem; margin-bottom: 10px; color: var(--dark); }
.why-item p  { font-size: .88rem; color: var(--gray-3); line-height: 1.7; }

/* ------------------------------------------------------------------
   RESPONSIVE — NEW
   ------------------------------------------------------------------ */
@media (max-width: 992px) {
  .about-story-content { padding-left: 0; margin-top: 60px; }
  .about-badge { right: 8px; }
  .why-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  #page-header    { padding: 130px 0 40px; }
  .page-header-title { font-size: clamp(1.7rem, 6vw, 2.2rem); }
  #about-story    { padding: 64px 0 72px; }
  #about-mission  { padding: 64px 0 72px; }
  #about-team     { padding: 64px 0 72px; }
  #about-why      { padding: 64px 0 72px; }
  .about-stats-row { grid-template-columns: 1fr 1fr; }
  .mv-card { padding: 36px 28px; }
  .mv-card-bg-letter { font-size: 7rem; }
}
@media (max-width: 576px) {
  .why-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .about-stats-row { grid-template-columns: 1fr; }
}

.navbar-nav .nav-item {
    margin: 0 5px;
}

.navbar-nav .nav-link {
    color: rgba(255, 255, 255, .8);
    font-family: var(--font-head);
    font-size: .9rem;
    font-weight: 500;
    padding: 8px 14px;
    border-radius: var(--radius-sm);
    transition: var(--transition);
}

.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active {
  color: var(--primary);
  background: rgba(60,211,205,.08);
}

.nav-cta .nav-link {
    background: var(--primary) !important;
    color: #274053 !important;
    font-weight: 700 !important;
    padding: 10px 22px !important;
    border-radius: 50px !important;
}

.nav-cta .nav-link:hover { background: var(--primary-dark) !important; }


/* ============================================================
   ② NEW CSS — CLIENT FIT PAGE ONLY
   ============================================================ */

/* ------------------------------------------------------------------
   SECTION 1 — PAGE HEADER (shared pattern)
   ------------------------------------------------------------------ */
#page-header {
  background: var(--dark-3);
  padding: 140px 0 52px;
  position: relative;
  overflow: hidden;
}
#page-header::before {
  content: ''; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(60,211,205,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60,211,205,.04) 1px, transparent 1px);
  background-size: 56px 56px; pointer-events: none;
}
#page-header::after {
  content: ''; position: absolute;
  top: -80px; right: -80px; width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(60,211,205,.1) 0%, transparent 70%);
  pointer-events: none; border-radius: 50%;
}
.page-header-inner { position: relative; z-index: 2; }
.page-header-breadcrumb {
  display: flex; align-items: center; gap: 8px;
  flex-wrap: wrap; list-style: none; margin: 0 0 20px; padding: 0;
}
.page-header-breadcrumb li { display: flex; align-items: center; gap: 8px; font-size: .8rem; color: rgba(255,255,255,.38); }
.page-header-breadcrumb li a { color: rgba(255,255,255,.5); transition: var(--transition); }
.page-header-breadcrumb li a:hover { color: var(--primary); }
.page-header-breadcrumb li.active { color: var(--primary); }
.page-header-breadcrumb li + li::before { content: '/'; color: rgba(255,255,255,.18); font-size: .75rem; }
.page-header-title { font-family: var(--font-head); font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 800; color: var(--white); line-height: 1.1; margin: 0; }
.page-header-title span { color: var(--primary); }
.page-header-lead {
  font-size: 1.05rem;
  color: rgba(255,255,255,.5);
  line-height: 1.75;
  margin-top: 18px;
  max-width: 560px;
}

/* ------------------------------------------------------------------
   SECTION 2 — GOOD FIT / BAD FIT SPLIT
   Left column = who we work great with (green checks).
   Right column = who we're NOT right for (honest red X).
   Both dark-bg columns side by side.
   ------------------------------------------------------------------ */
#fit-split {
  padding: 100px 0 110px;
  background: var(--white);
}

.fit-col {
  border-radius: 28px;
  padding: 48px 44px;
  height: 100%;
  position: relative;
  overflow: hidden;
}

/* Good fit — dark background */
.fit-col--good {
  background: var(--dark-3);
  border: 1px solid rgba(255,255,255,.06);
}

/* Bad fit — light background */
.fit-col--bad {
  background: var(--gray-1);
  border: 1px solid var(--gray-2);
}

/* decorative corner glow on good column */
.fit-col--good::after {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(60,211,205,.1) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.fit-col-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 36px;
  padding-bottom: 24px;
  position: relative; z-index: 1;
}
.fit-col--good .fit-col-header { border-bottom: 1px solid rgba(255,255,255,.08); }
.fit-col--bad  .fit-col-header { border-bottom: 1px solid var(--gray-2); }

.fit-col-badge {
  width: 48px; height: 48px;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem;
  flex-shrink: 0;
}
.fit-col--good .fit-col-badge { background: rgba(60,211,205,.15); color: var(--primary); }
.fit-col--bad  .fit-col-badge { background: rgba(255,100,100,.1); color: #e05a5a; }

.fit-col-title {
  font-family: var(--font-head);
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.2;
}
.fit-col--good .fit-col-title { color: var(--white); }
.fit-col--bad  .fit-col-title { color: var(--dark); }

.fit-col-subtitle {
  font-size: .78rem;
  font-weight: 500;
  opacity: .5;
  margin-top: 3px;
}
.fit-col--good .fit-col-subtitle { color: var(--white); }
.fit-col--bad  .fit-col-subtitle { color: var(--dark); }

/* fit list items */
.fit-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative; z-index: 1;
}

.fit-list-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: .92rem;
  line-height: 1.6;
}

.fit-list-icon {
  width: 26px; height: 26px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem;
  flex-shrink: 0;
  margin-top: 1px;
}
.fit-col--good .fit-list-icon { background: rgba(60,211,205,.15); color: var(--primary); }
.fit-col--bad  .fit-list-icon { background: rgba(255,100,100,.1); color: #e05a5a; }

.fit-list-item strong {
  font-weight: 700;
  display: block;
  margin-bottom: 2px;
  font-size: .95rem;
}
.fit-col--good .fit-list-item strong { color: var(--white); }
.fit-col--bad  .fit-list-item strong { color: var(--dark); }

.fit-col--good .fit-list-item span { color: rgba(255,255,255,.45); }
.fit-col--bad  .fit-list-item span  { color: var(--gray-3); }

/* ------------------------------------------------------------------
   SECTION 3 — INDUSTRIES WE SERVE
   6 industry pills/cards in a 3-column grid on dark background.
   ------------------------------------------------------------------ */
#fit-industries {
  padding: 100px 0 110px;
  background: var(--dark-3);
  position: relative;
}
#fit-industries::before {
  content: ''; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(60,211,205,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60,211,205,.04) 1px, transparent 1px);
  background-size: 56px 56px; pointer-events: none;
}
#fit-industries .section-title { color: var(--white); }
#fit-industries .section-desc  { color: rgba(255,255,255,.45); }
#fit-industries .section-subtitle {
  color: var(--primary);
  background: rgba(60,211,205,.08);
  border-color: rgba(60,211,205,.2);
}

.industry-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  padding: 32px 28px;
  transition: var(--transition);
  position: relative;
  overflow: hidden;
  cursor: default;
}
.industry-card:hover {
  background: rgba(255,255,255,.07);
  border-color: rgba(60,211,205,.3);
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0,0,0,.3);
}
.industry-card::before {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 2px;
  background: var(--primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: var(--transition);
}
.industry-card:hover::before { transform: scaleX(1); }

.industry-icon {
  width: 52px; height: 52px;
  background: rgba(60,211,205,.1);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem;
  color: var(--primary);
  margin-bottom: 18px;
  transition: var(--transition);
}
.industry-card:hover .industry-icon { background: var(--primary); color: var(--dark); }

.industry-name {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 8px;
}

.industry-desc {
  font-size: .82rem;
  color: rgba(255,255,255,.4);
  line-height: 1.6;
}

/* ------------------------------------------------------------------
   SECTION 4 — HONESTY CTA
   Not standard teal — we use the dark+white version to reinforce the
   honest / direct-communication tone of the Client Fit page.
   ------------------------------------------------------------------ */
#fit-cta {
  background: var(--primary);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}
#fit-cta::before {
  content: '';
  position: absolute; top: -80px; right: -80px;
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(255,255,255,.12) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}

.fit-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
  position: relative; z-index: 1;
}

.fit-cta-text h2 {
  font-family: var(--font-head);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 10px;
}
.fit-cta-text p {
  font-size: .98rem;
  color: rgba(39,64,83,.65);
  line-height: 1.7;
  max-width: 480px;
}

.fit-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
}

.btn-cta-dark {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--dark); color: var(--white);
  font-family: var(--font-head); font-weight: 700; font-size: .92rem;
  padding: 15px 32px; border-radius: 50px;
  border: 2px solid var(--dark); transition: var(--transition);
  white-space: nowrap;
}
.btn-cta-dark:hover { background: transparent; color: var(--dark); }

.btn-cta-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--font-head); font-weight: 600; font-size: .82rem;
  color: rgba(39,64,83,.65);
  transition: var(--transition);
  text-align: center;
}
.btn-cta-ghost:hover { color: var(--dark); }

/* ------------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------------ */
@media (max-width: 992px) {
  .fit-col { padding: 36px 28px; }
}
@media (max-width: 768px) {
  #page-header { padding: 130px 0 40px; }
  .page-header-title { font-size: clamp(1.7rem, 6vw, 2.2rem); }
  #fit-split { padding: 64px 0 72px; }
  #fit-industries { padding: 64px 0 72px; }
  .fit-cta-inner { flex-direction: column; text-align: center; }
  .fit-cta-actions { align-items: center; width: 100%; }
  .fit-cta-text p { max-width: 100%; }
}


/* ============================================================
   ② NEW CSS — USPs PAGE ONLY
   ============================================================ */

/* ------------------------------------------------------------------
   SECTION 1 — PAGE HEADER (same pattern as blog / faqs / about)
   ------------------------------------------------------------------ */
#page-header {
  background: var(--dark-3);
  padding: 140px 0 52px;
  position: relative;
  overflow: hidden;
}
#page-header::before {
  content: ''; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(60,211,205,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60,211,205,.04) 1px, transparent 1px);
  background-size: 56px 56px; pointer-events: none;
}
#page-header::after {
  content: ''; position: absolute;
  top: -80px; right: -80px; width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(60,211,205,.1) 0%, transparent 70%);
  pointer-events: none; border-radius: 50%;
}
.page-header-inner { position: relative; z-index: 2; }
.page-header-breadcrumb {
  display: flex; align-items: center; gap: 8px;
  flex-wrap: wrap; list-style: none; margin: 0 0 20px; padding: 0;
}
.page-header-breadcrumb li { display: flex; align-items: center; gap: 8px; font-size: .8rem; color: rgba(255,255,255,.38); }
.page-header-breadcrumb li a { color: rgba(255,255,255,.5); transition: var(--transition); }
.page-header-breadcrumb li a:hover { color: var(--primary); }
.page-header-breadcrumb li.active { color: var(--primary); }
.page-header-breadcrumb li + li::before { content: '/'; color: rgba(255,255,255,.18); font-size: .75rem; }
.page-header-title { font-family: var(--font-head); font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 800; color: var(--white); line-height: 1.1; margin: 0; }
.page-header-title span { color: var(--primary); }

/* ------------------------------------------------------------------
   SECTION 2 — USP CARDS GRID
   6 large cards in a 2-column layout. Each card has a big number,
   icon, title, body, and a subtle teal accent line at the top.
   ------------------------------------------------------------------ */
#usps-grid {
  padding: 100px 0 110px;
  background: var(--white);
}

.usp-card {
  background: var(--gray-1);
  border: 1px solid var(--gray-2);
  border-radius: 28px;
  padding: 44px 40px;
  position: relative;
  overflow: hidden;
  transition: var(--transition);
  height: 100%;
}
.usp-card:hover {
  background: var(--white);
  border-color: rgba(60,211,205,.35);
  box-shadow: var(--shadow);
  transform: translateY(-6px);
}

/* teal top accent line */
.usp-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), transparent);
  border-radius: 28px 28px 0 0;
  opacity: 0;
  transition: var(--transition);
}
.usp-card:hover::before { opacity: 1; }

/* large faded number behind card */
.usp-card-num {
  position: absolute;
  top: -10px; right: 20px;
  font-family: var(--font-head);
  font-size: 7rem;
  font-weight: 800;
  color: rgba(60,211,205,.06);
  line-height: 1;
  user-select: none;
  pointer-events: none;
}

/* icon box */
.usp-icon {
  width: 60px; height: 60px;
  background: rgba(60,211,205,.1);
  border-radius: 18px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  color: var(--primary);
  margin-bottom: 24px;
  transition: var(--transition);
  position: relative; z-index: 1;
}
.usp-card:hover .usp-icon {
  background: var(--primary);
  color: var(--dark);
}

.usp-card-title {
  font-family: var(--font-head);
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 12px;
  position: relative; z-index: 1;
}

.usp-card-body {
  font-size: .95rem;
  line-height: 1.8;
  color: var(--gray-3);
  position: relative; z-index: 1;
}

/* proof tag — small teal pill at bottom of card */
.usp-proof {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 20px;
  background: rgba(60,211,205,.1);
  color: var(--primary-dark);
  font-size: .75rem;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 50px;
  position: relative; z-index: 1;
}
.usp-proof i { font-size: .8rem; }

/* ------------------------------------------------------------------
   SECTION 3 — RESULTS BANNER
   Full-width dark bar with 4 big animated numbers — proof the USPs deliver.
   ------------------------------------------------------------------ */
#usps-results {
  background: var(--dark);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}
#usps-results::before {
  content: ''; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(60,211,205,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60,211,205,.04) 1px, transparent 1px);
  background-size: 56px 56px; pointer-events: none;
}
#usps-results::after {
  content: ''; position: absolute;
  bottom: -100px; left: -100px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(60,211,205,.08) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}

.results-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.06);
  border-radius: 24px;
  overflow: hidden;
  position: relative; z-index: 1;
}
.result-item {
  padding: 48px 32px;
  text-align: center;
  background: rgba(255,255,255,.02);
  transition: var(--transition);
}
.result-item:hover { background: rgba(255,255,255,.05); }

.result-val {
  font-family: var(--font-head);
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1;
  margin-bottom: 10px;
}
.result-val span { color: var(--primary); }

.result-label {
  font-size: .82rem;
  color: rgba(255,255,255,.4);
  font-weight: 500;
  line-height: 1.5;
  max-width: 120px;
  margin: 0 auto;
}

/* ------------------------------------------------------------------
   SECTION 4 — CTA BAND (same teal pattern as faqs.html)
   ------------------------------------------------------------------ */
#usps-cta {
  background: var(--primary);
  padding: 72px 0;
  text-align: center;
}
#usps-cta h2 {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 14px;
}
#usps-cta p {
  color: rgba(39,64,83,.65);
  font-size: 1rem;
  margin-bottom: 36px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.7;
}
.btn-cta-dark {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--dark); color: var(--white);
  font-family: var(--font-head); font-weight: 700; font-size: .95rem;
  padding: 16px 36px; border-radius: 50px;
  border: 2px solid var(--dark); transition: var(--transition);
}
.btn-cta-dark:hover { background: transparent; color: var(--dark); }

/* ------------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------------ */
@media (max-width: 992px) {
  .results-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  #page-header { padding: 130px 0 40px; }
  .page-header-title { font-size: clamp(1.7rem, 6vw, 2.2rem); }
  #usps-grid { padding: 64px 0 72px; }
  #usps-results { padding: 56px 0; }
  .usp-card { padding: 32px 28px; }
}
@media (max-width: 576px) {
  .results-grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   AUTHOR ARCHIVE — Profile Card CSS
   ============================================================ */

/* ── Section wrapper ────────────────────────────────────────── */
#author-profile, #author-posts {
  padding: 64px 0 72px;
  background: var(--gray-1);
}

/* ── Card ───────────────────────────────────────────────────── */
.author-profile-card {
  background: var(--white);
  border: 1px solid var(--gray-2);
  border-radius: 28px;
  padding: 48px 52px;
  display: flex;
  gap: 48px;
  align-items: flex-start;
  position: relative;
  overflow: hidden;
}

/* subtle teal glow top-right */
.author-profile-card::after {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(60,211,205,.07) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* teal top accent line */
.author-profile-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), transparent);
  border-radius: 28px 28px 0 0;
}

/* ── Avatar ─────────────────────────────────────────────────── */
.author-profile-avatar {
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}

.author-profile-avatar img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  display: block;
  border: 3px solid var(--primary);
  box-shadow: 0 0 0 6px rgba(60,211,205,.1);
}

.author-profile-avatar-placeholder {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--dark));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-size: 2.4rem;
  font-weight: 800;
  color: var(--white);
  border: 3px solid var(--primary);
  box-shadow: 0 0 0 6px rgba(60,211,205,.1);
}

/* ── Info block ─────────────────────────────────────────────── */
.author-profile-info {
  flex: 1;
  min-width: 0;
  position: relative;
  z-index: 1;
}

/* top meta row: badge + "writing since" */
.author-profile-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.author-profile-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--primary-dark);
  background: rgba(60,211,205,.1);
  border: 1px solid rgba(60,211,205,.25);
  padding: 4px 14px;
  border-radius: 50px;
}
.author-profile-badge::before {
  content: '';
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--primary);
  display: inline-block;
}

.author-profile-since {
  font-size: .8rem;
  color: var(--gray-3);
  font-weight: 500;
}

/* name */
.author-profile-name {
  font-family: var(--font-head);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--dark);
  line-height: 1.1;
  margin-bottom: 6px;
}

/* role */
.author-profile-role {
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--primary-dark);
  margin-bottom: 16px;
}

/* bio */
.author-profile-bio {
  font-size: .95rem;
  line-height: 1.8;
  color: var(--gray-3);
  margin-bottom: 28px;
  max-width: 640px;
}

/* ── Stats row ──────────────────────────────────────────────── */
.author-profile-stats {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 28px;
  background: var(--gray-1);
  border: 1px solid var(--gray-2);
  border-radius: 16px;
  overflow: hidden;
  width: fit-content;
}

.author-stat {
  padding: 16px 28px;
  text-align: center;
  border-right: 1px solid var(--gray-2);
  transition: var(--transition);
  cursor: default;
}
.author-stat:last-child { border-right: none; }
.author-stat:hover { background: var(--white); }

.author-stat-value {
  font-family: var(--font-head);
  font-size: 1.45rem;
  font-weight: 800;
  color: var(--dark);
  line-height: 1;
  margin-bottom: 4px;
}

.author-stat-label {
  font-size: .72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--gray-3);
  white-space: nowrap;
}

/* ── Social links ───────────────────────────────────────────── */
.author-profile-socials {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* .author-social is shared with blog-single.html — already in your stylesheet:
   width:34px; height:34px; background:var(--white); border:1px solid var(--gray-2);
   border-radius:8px; display:flex; align-items:center; justify-content:center;
   color:var(--dark); font-size:.85rem; transition:var(--transition);
   :hover → background:var(--primary); border-color:var(--primary); color:var(--dark);
   Include it here only if you DON'T already have it from blog-single: */
.author-social {
  width: 36px; height: 36px;
  background: var(--gray-1);
  border: 1px solid var(--gray-2);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  color: var(--dark);
  font-size: .88rem;
  transition: var(--transition);
}
.author-social:hover {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--dark);
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  #author-profile { padding: 48px 0 56px; }

  .author-profile-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 36px 28px;
    gap: 28px;
  }

  .author-profile-meta { justify-content: center; }
  .author-profile-bio  { max-width: 100%; }

  .author-profile-stats {
    width: 100%;
    justify-content: center;
  }
  .author-stat { flex: 1; padding: 14px 16px; }

  .author-profile-socials { justify-content: center; }
}

@media (max-width: 480px) {
  .author-profile-card { padding: 28px 20px; }
  .author-stat-value   { font-size: 1.2rem; }
  .author-profile-name { font-size: 1.6rem; }

  /* stack stats 2-up if 3+ items */
  .author-profile-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .author-stat { border-right: none; border-bottom: 1px solid var(--gray-2); }
  .author-stat:last-child { border-bottom: none; }
}

/* ================================================================
   ② NEW CSS — CAREERS PAGE ONLY
   ================================================================ */

/* ── SECTION 1 : Page Header ─────────────────────────────────── */
#page-header{background:var(--dark-3);padding:140px 0 56px;position:relative;overflow:hidden}
#page-header::before{content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(60,211,205,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(60,211,205,.04) 1px,transparent 1px);
  background-size:56px 56px;pointer-events:none}
#page-header::after{content:'';position:absolute;top:-80px;right:-80px;width:360px;height:360px;
  background:radial-gradient(circle,rgba(60,211,205,.1) 0%,transparent 70%);
  border-radius:50%;pointer-events:none}
.ph-inner{position:relative;z-index:2}
.ph-breadcrumb{display:flex;align-items:center;gap:8px;list-style:none;margin:0 0 20px;padding:0;flex-wrap:wrap}
.ph-breadcrumb li{font-size:.8rem;color:rgba(255,255,255,.38);display:flex;align-items:center;gap:8px}
.ph-breadcrumb li a{color:rgba(255,255,255,.5)} .ph-breadcrumb li a:hover{color:var(--primary)}
.ph-breadcrumb li.active{color:var(--primary)}
.ph-breadcrumb li+li::before{content:'/';color:rgba(255,255,255,.18);font-size:.75rem}
.ph-title{font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:800;color:var(--white);line-height:1.1;margin:0 0 18px}
.ph-title span{color:var(--primary)}
.ph-desc{font-size:1rem;color:rgba(255,255,255,.48);line-height:1.75;max-width:500px}

/* ── SECTION 2 : Why Join Us ─────────────────────────────────── */
#careers-why{padding:96px 0 104px;background:var(--gray-1)}

.perk-card{
  background:var(--white);border:1px solid var(--gray-2);border-radius:22px;
  padding:36px 32px;height:100%;transition:var(--transition);position:relative;overflow:hidden}
.perk-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--primary),transparent);
  opacity:0;transition:var(--transition);border-radius:22px 22px 0 0}
.perk-card:hover{border-color:rgba(60,211,205,.3);box-shadow:var(--shadow-card);transform:translateY(-5px)}
.perk-card:hover::before{opacity:1}
.perk-icon{width:54px;height:54px;background:rgba(60,211,205,.1);border-radius:16px;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;
  color:var(--primary);margin-bottom:20px;transition:var(--transition)}
.perk-card:hover .perk-icon{background:var(--primary);color:var(--dark)}
.perk-title{font-size:1rem;font-weight:800;color:var(--dark);margin-bottom:10px}
.perk-body{font-size:.88rem;color:var(--gray-3);line-height:1.75}

/* ── SECTION 3 : Application Form ───────────────────────────── */
#careers-apply{padding:96px 0 108px;background:var(--white)}

/* left info column */
.apply-step{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}
.apply-step:last-child{margin-bottom:0}
.apply-step-num{
  width:32px;height:32px;background:var(--primary);color:var(--dark);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-size:.78rem;font-weight:800;flex-shrink:0;margin-top:2px}
.apply-step-txt strong{display:block;font-size:.9rem;font-weight:700;color:var(--dark);margin-bottom:3px}
.apply-step-txt span{font-size:.82rem;color:var(--gray-3);line-height:1.55}

/* form card */
.form-card{
  background:var(--gray-1);border:1px solid var(--gray-2);
  border-radius:28px;padding:48px 44px}
.form-card-title{
  font-size:1.15rem;font-weight:800;color:var(--dark);
  padding-bottom:22px;margin-bottom:28px;border-bottom:1px solid var(--gray-2)}

/* ── CF7 FIELD OVERRIDES ─────────────────────────────────────── */
/* Applies to real CF7 output AND the static preview below */

.form-card .wpcf7 p,
.form-card .cf7-row { margin-bottom: 20px }
.form-card .wpcf7 p:last-of-type { margin-bottom: 0 }
.form-card .wpcf7 br { display: none }   /* remove CF7 forced line-breaks */

.form-card label,
.form-card .field-label{
  display:block;font-size:.82rem;font-weight:600;
  color:var(--dark);margin-bottom:7px;font-family:var(--font-body)}

.form-card input[type=text],
.form-card input[type=email],
.form-card input[type=tel],
.form-card input[type=url],
.form-card select,
.form-card textarea,
.form-card .wpcf7 input[type=text],
.form-card .wpcf7 input[type=email],
.form-card .wpcf7 input[type=tel],
.form-card .wpcf7 input[type=url],
.form-card .wpcf7 select,
.form-card .wpcf7 textarea{
  width:100%;background:var(--white);border:1.5px solid var(--gray-2);
  border-radius:12px;padding:13px 16px;font-family:var(--font-body);
  font-size:.92rem;color:var(--dark);outline:none;
  transition:var(--transition);appearance:none;-webkit-appearance:none}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus,
.form-card .wpcf7 input:focus,.form-card .wpcf7 select:focus,.form-card .wpcf7 textarea:focus{
  border-color:var(--primary);box-shadow:0 0 0 3px rgba(60,211,205,.12)}
.form-card input::placeholder,.form-card textarea::placeholder{color:var(--gray-3)}

/* select chevron */
.form-card select,
.form-card .wpcf7 select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239eb3c2' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;cursor:pointer}

.form-card textarea,.form-card .wpcf7 textarea{resize:vertical;min-height:126px}

/* file upload */
.form-card input[type=file],
.form-card .wpcf7 input[type=file]{
  width:100%;background:var(--white);border:1.5px dashed var(--gray-2);
  border-radius:12px;padding:13px 16px;font-size:.85rem;
  color:var(--gray-3);cursor:pointer;transition:var(--transition)}
.form-card input[type=file]:hover,
.form-card .wpcf7 input[type=file]:hover{border-color:var(--primary)}

/* submit */
.form-card input[type=submit],
.form-card .wpcf7 input[type=submit]{
  width:100%;background:var(--primary);color:var(--dark);
  font-family:var(--font-head);font-weight:700;font-size:.95rem;
  padding:15px 32px;border-radius:50px;border:2px solid var(--primary);
  cursor:pointer;transition:var(--transition);margin-top:4px}
.form-card input[type=submit]:hover,
.form-card .wpcf7 input[type=submit]:hover{background:transparent;color:var(--primary-dark)}

/* CF7 validation feedback */
.form-card .wpcf7-not-valid-tip{font-size:.75rem;color:#e05a5a;margin-top:5px;display:block}
.form-card .wpcf7-not-valid{border-color:#e05a5a !important}
.form-card .wpcf7-response-output{
  margin-top:16px;padding:13px 18px;border-radius:12px;
  border:none !important;font-size:.88rem}
.form-card .wpcf7-mail-sent-ok{background:rgba(60,211,205,.12);color:var(--primary-dark)}
.form-card .wpcf7-validation-errors,
.form-card .wpcf7-mail-sent-ng,
.form-card .wpcf7-spam-blocked{background:rgba(224,90,90,.08);color:#c0392b}

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media(max-width:992px){.form-card{padding:36px 28px}}
@media(max-width:768px){
  #page-header{padding:130px 0 44px}
  .ph-title{font-size:clamp(1.8rem,6vw,2.4rem)}
  #careers-why{padding:64px 0 72px}
  #careers-apply{padding:64px 0 72px}
  .apply-info-col{margin-bottom:48px}
}