/* Global CLS Prevention & Mobile Optimization */
img {
  max-width: 100%;
  height: auto;
}

img[width][height] {
  aspect-ratio: attr(width) / attr(height);
}

video {
  max-width: 100%;
  height: auto;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/Inter-Regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/Inter-Medium.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/Inter-SemiBold.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/Inter-Bold.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/Inter-ExtraBold.woff2') format('woff2');
}

/* Prevent layout shift during font loading */
body {
  font-display: swap;
}

/* Reserve space for navbar to prevent CLS - Desktop only - Removed to eliminate gap */
@media (min-width: 769px) {
  body {
    padding-top: 0;
  }
}

/* Blog */
body.blog-page .blog-app { margin-top: 130px !important; }
body.blog-page #qodef-page-header { height: 130px !important; max-height: 130px !important; overflow: visible !important; }
body.blog-page #qodef-page-header-inner { height: 130px !important; max-height: 130px !important; overflow: visible !important; }
body.blog-page [data-include="header"] { display: block !important; visibility: visible !important; }
body.blog-page [data-include="footer"] { display: block !important; visibility: visible !important; }
/* Ensure submenus are visible on blog page */
body.blog-page #qodef-page-header .menu > li.has-sub { overflow: visible !important; }
body.blog-page #qodef-page-header .submenu { z-index: 10001 !important; }

@media (max-width: 1024px) {
  body.blog-page .blog-app { margin-top: 70px !important; }
  body.blog-page #qodef-page-header { height: 70px !important; max-height: 70px !important; }
  body.blog-page #qodef-page-header-inner { height: 70px !important; max-height: 70px !important; }
}
.blog-hero { padding: 8rem 0 4rem; background: linear-gradient(to bottom, #ffffff, #f9fafb); position: relative; }
.blog-hero--with-video { background: #0f172a; overflow: hidden; min-height: 800px; }
.blog-hero--with-image { background: #0f172a; overflow: hidden; min-height: 800px; }
.blog-hero .container { position: relative; z-index: 1; }
.blog-hero--with-video .blog-title,
.blog-hero--with-video .blog-subtitle,
.blog-hero--with-video .section-badge { color: #ffffff; }
.blog-hero--with-image .blog-title,
.blog-hero--with-image .blog-subtitle,
.blog-hero--with-image .section-badge { color: #ffffff; }
.blog-hero__media { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; background-repeat: no-repeat; }
.blog-hero__video { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(120%); }
.blog-hero__overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,0,0,0.6), rgba(0,0,0,0.6)); }
.blog-hero--with-video::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(15,23,42,0.5), rgba(30,64,175,0.3)); pointer-events: none; z-index: 0; }
.blog-page .site-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #000000 !important;
  transition: background-color .3s ease, border-color .3s ease;
  border-bottom: 1px solid transparent;
}
.blog-page .site-header {
  position: fixed !important;
}
.blog-page .site-header .menu a,
.blog-page .site-header .header-cta .phone {
  color: #ffffff !important;
}
.blog-page .site-header .nav-toggle {
  border-color: rgba(255,255,255,0.35);
  color: #ffffff;
}
.blog-page .site-header .nav-toggle-bar {
  background: #ffffff;
}
.blog-hero-inner { max-width: 900px; margin: 0 auto; text-align: center; position: relative; z-index: 1; width: 100%; }
.blog-title { font-size: 2.75rem; font-weight: 800; color: #111827; margin: 0.25rem 0 0.75rem; }
.blog-subtitle { color: #6b7280; font-size: 1.125rem; }

.blog-listing { padding: 4rem 0; background: #ffffff; }
.blog-listing .blog-grid { display: grid !important; grid-template-columns: 2fr 1fr !important; gap: 2rem; }
.blog-listing .container.blog-grid { display: grid !important; grid-template-columns: 2fr 1fr !important; gap: 2rem !important; }
.blog-listing .blog-grid .posts { grid-column: 1; }
.blog-listing .blog-grid .sidebar { grid-column: 2; }
.blog-listing .container.blog-grid > main.posts { grid-column: 1 !important; }
.blog-listing .container.blog-grid > aside.sidebar { grid-column: 2 !important; }
.posts { display: block; }
#postsContainer {
  display: grid;
  gap: 2rem;
  width: 100%;
  grid-template-columns: 1fr;
}
.post-card { border: 1px solid #f3f4f6; border-radius: 1rem; overflow: hidden; background: #fff; }
.post-article { max-width: 100%; overflow: hidden; }
.post-article .post-body { max-width: 760px; margin: 0 auto; }
.post-article .post-body h2 { margin: 2rem 0 .75rem; font-size: 1.75rem; line-height: 1.25; }
.post-article .post-body h3 { margin: 1.5rem 0 .5rem; font-size: 1.25rem; }
.post-article .post-body p { margin: .75rem 0; color: #374151; }
.post-article .post-body ul, .post-article .post-body ol { margin: .5rem 0 1rem 1.25rem; }
.post-article .post-body li { margin: .35rem 0; }
.post-article .post-hero { margin: 0 0 1rem; }
.post-article .post-hero img { width: 100%; height: auto; border-radius: .75rem; display: block; }
.post-article .post-image { margin: 2rem 0; max-width: 100%; overflow: hidden; }
.post-article .post-image img { width: 100%; height: auto; border-radius: .5rem; display: block; }
.post-article .post-image figcaption { margin-top: .5rem; font-size: .875rem; color: #6b7280; text-align: center; font-style: italic; }
.post-article .post-cta { display: flex; gap: .75rem; margin-top: 1rem; }
.post-media { 
  position: relative; 
  background: #f3f4f6; 
  min-height: 200px; 
  overflow: hidden;
}
.post-media img { 
  display: block; 
  width: 100%; 
  height: auto; 
  min-height: 200px;
  object-fit: cover;
  background: #f3f4f6;
}
.post-content { padding: 1.25rem 1.25rem 1.5rem; }
.post-category { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; text-decoration: none; }
.post-title { margin: .35rem 0 .5rem; font-size: 1.375rem; }
.post-title a { color: #111827; text-decoration: none; }
.post-title a:hover { text-decoration: underline; }
.post-excerpt { color: #6b7280; margin-bottom: .5rem; }
.post-meta { color: #9ca3af; font-size: .875rem; }
.pagination { display: flex; gap: 1rem; padding-top: .5rem; }
.page { color: #111827; text-decoration: none; font-weight: 600; }

.blog-listing .blog-grid .sidebar { 
  display: flex !important; 
  flex-direction: column; 
  gap: .5rem; 
  visibility: visible !important; 
  opacity: 1 !important;
  width: 100% !important;
  min-width: 300px !important;
  background: transparent !important;
  position: relative !important;
  z-index: 1 !important;
  height: auto !important;
  min-height: auto !important;
}
.blog-listing .container.blog-grid > aside.sidebar {
  display: flex !important;
  flex-direction: column !important;
  gap: .5rem !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-width: 300px !important;
  background: transparent !important;
  position: relative !important;
  z-index: 1 !important;
  height: auto !important;
  min-height: auto !important;
}
.widget { border: 1px solid #f3f4f6; border-radius: .75rem; background: #f9fafb; padding: 1rem 1.25rem; margin: 0; }
.widget-title { margin: 0 0 .75rem; font-size: 1rem; color: #111827; }
.category-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.category-list a { color: #111827; text-decoration: none; }
.category-list a:hover { text-decoration: underline; }
.featured-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.featured-list a { display: grid; grid-template-columns: 160px 1fr; gap: .75rem; align-items: center; text-decoration: none; color: #111827; }
.featured-list img { width: 160px; height: 100px; object-fit: cover; border-radius: .5rem; display: block; }
.sidebar-search { position: relative; display: block; height: 44px; margin-bottom: .25rem; }
.sidebar-search .clear-btn {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  border: none; background: transparent; color: #9ca3af; font-size: 1.1rem; line-height: 1;
  cursor: pointer; padding: 0 4px; border-radius: 0.25rem;
}
.sidebar-search .clear-btn:hover { color: #111827; }
.sidebar-search .input { padding: 0.5rem 0.75rem; font-size: 0.9rem; border-radius: 0.5rem; height: 44px; }
.sidebar-search .input.compact { height: 44px; padding: 0 40px 0 12px; line-height: 44px; }
.sidebar-search .input::placeholder { color: #9ca3af; }
.sidebar-search .input:focus { box-shadow: 0 0 0 3px rgba(17,24,39,0.08); }
.sidebar-subscribe { display: grid; gap: .5rem; }
.tag-cloud { display: flex; flex-wrap: wrap; gap: .5rem; }
.tag { display: inline-block; padding: .25rem .5rem; border-radius: 9999px; background: #eef2ff; color: #3730a3; font-weight: 600; text-decoration: none; font-size: .75rem; }

@media (max-width: 1024px) {
  .blog-listing .blog-grid { grid-template-columns: 1fr !important; }
  .blog-listing .container.blog-grid { grid-template-columns: 1fr !important; }
  .blog-listing .blog-grid .sidebar { order: 2; margin-top: 2rem; display: flex !important; }
  .blog-listing .container.blog-grid > aside.sidebar { order: 2; margin-top: 2rem; display: flex !important; }
}

@media (max-width: 768px) {
  #postsContainer {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .blog-controls {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  .sort-controls {
    width: 100%;
    justify-content: space-between;
  }
  .sort-select {
    width: 100%;
    min-width: 0;
  }
  .featured-list a {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .featured-list img {
    width: 100%;
    height: 140px;
  }
}

@media (max-width: 480px) {
  .post-card {
    border-radius: 0.75rem;
  }
  .post-content {
    padding: 1rem;
  }
  .post-title {
    font-size: 1.2rem;
  }
  .post-meta {
    font-size: 0.8rem;
  }
  .pagination {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}

@media (max-width: 768px) {
  .blog-hero {
    padding: 4rem 0 2rem;
  }
  .blog-hero-inner {
    padding: 0 1rem;
  }
  .blog-title {
    font-size: 1.75rem !important;
    line-height: 1.3 !important;
    margin: 0.5rem 0 0.75rem !important;
  }
  .blog-subtitle {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }
  .blog-listing {
    padding: 2rem 0;
  }
  .blog-listing .container {
    padding: 0 1rem !important;
  }
  .blog-listing .container.blog-grid {
    display: block !important;
    grid-template-columns: 1fr !important;
  }
  .blog-grid {
    display: block !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .blog-listing .blog-grid {
    display: block !important;
    grid-template-columns: 1fr !important;
  }
  .blog-listing .blog-grid .posts {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    order: 1;
  }
  .blog-listing .blog-grid .sidebar {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    order: 2;
    margin-top: 2rem;
    background: transparent !important;
    height: auto !important;
    min-height: auto !important;
  }
  .blog-listing .container.blog-grid > main.posts {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    order: 1;
  }
  .blog-listing .container.blog-grid > aside.sidebar {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    order: 2;
    margin-top: 2rem;
    background: transparent !important;
    height: auto !important;
    min-height: auto !important;
  }
  .posts {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    order: 1;
  }
  .post-article {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    order: 1;
  }
  .post-article .post-body {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .post-article .post-body h2 {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
    margin: 1.5rem 0 0.75rem !important;
  }
  .post-article .post-body h3 {
    font-size: 1.25rem !important;
    line-height: 1.3 !important;
    margin: 1.25rem 0 0.5rem !important;
  }
  .post-article .post-body p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    margin: 1rem 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .post-article .post-hero {
    margin: 0 0 1.5rem;
    padding: 0;
    width: 100% !important;
    max-width: 100% !important;
  }
  .post-article .post-hero img {
    width: 100% !important;
    height: auto !important;
    border-radius: 0.5rem;
    max-width: 100% !important;
  }
  .sidebar {
    order: 2;
    margin-top: 2rem;
    padding: 0 !important;
    background: transparent !important;
    height: auto !important;
    min-height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .widget {
    margin-bottom: 1.5rem;
    background: #f9fafb !important;
    border-radius: 0.75rem;
    padding: 1rem 1.25rem;
  }
}

@media (max-width: 480px) {
  .blog-hero {
    padding: 3rem 0 1.5rem;
  }
  .blog-title {
    font-size: 1.5rem !important;
  }
  .blog-subtitle {
    font-size: 0.95rem !important;
  }
  .post-article .post-body {
    padding: 0 0.75rem;
  }
  .post-article .post-body h2 {
    font-size: 1.35rem !important;
  }
  .post-article .post-body h3 {
    font-size: 1.15rem !important;
  }
  .post-article .post-body p {
    font-size: 0.95rem !important;
  }
}

/* Blog Controls */
.blog-controls {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 2rem;
  margin-top: 0;
  padding: 0rem 0px 15px;
  border-bottom: 1px solid #e2e8f0;
  width: 100%;
}

.sort-controls {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.sort-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #64748b;
  white-space: nowrap;
}

.sort-select {
  background: white;
  border: 1px solid #d1d5db;
  border-radius: 0.5rem;
  padding: 0 0.75rem;
  font-size: 0.9rem;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s ease;
  height: 44px;
  line-height: 44px;
  min-width: 200px;
  /* Ensure native dropdown on mobile */
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: menulist;
}

.sort-select:hover {
  border-color: #0ea5e9;
}

.sort-select:focus {
  outline: none;
  border-color: #0ea5e9;
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.1);
}

/* Pagination */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 3rem;
  padding: 2rem 0;
}

.pagination .page {
  padding: 0.5rem 1rem;
  border: 1px solid #d1d5db;
  background: white;
  color: #374151;
  text-decoration: none;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pagination .page:hover:not(:disabled) {
  border-color: #0ea5e9;
  color: #0ea5e9;
}

.pagination .page.active {
  background: #0ea5e9;
  border-color: #0ea5e9;
  color: white;
}

.pagination .page:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.page-numbers {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.page-numbers .page {
  min-width: 2.5rem;
  text-align: center;
}

@media (max-width: 768px) {
  .pagination {
    flex-wrap: wrap;
    gap: 0.25rem;
  }
  
  .pagination .page {
    padding: 0.4rem 0.8rem;
    font-size: 0.8rem;
  }
  
  .page-numbers .page {
    min-width: 2rem;
  }
}
/* Contact Page */
.contact-hero {
    padding: 6rem 0 4rem;
    background: linear-gradient(to bottom, #ffffff, #f9fafb);
}
.contact-hero-content { text-align: center; max-width: 900px; margin: 0 auto; }
.contact-title { font-size: 2.5rem; font-weight: 800; color: #111827; margin-bottom: 1rem; }
.contact-subtitle { color: #6b7280; font-size: 1.125rem; }
.contact-cta-row { margin-top: 1.5rem; display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

.contact-intro { padding: 4rem 0; background: #ffffff; }
.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.contact-card { background: #f9fafb; border: 1px solid #f3f4f6; border-radius: 0.75rem; padding: 1.5rem; }
.contact-card h3 { margin: 0 0 0.5rem; font-size: 1.1rem; color: #111827; }
.contact-card p { color: #6b7280; }

/* About Main Section with Parallax */
.about-main {
    position: relative;
    padding: 6rem 0;
    background: #0f172a;
    color: #ffffff;
    overflow: hidden;
}

.about-main .content-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
    z-index: 0;
    min-height: 100%;
}

.about-main .container {
    position: relative;
    z-index: 1;
}

.contact-actions { position: relative; padding: 6rem 0; background: #0f172a; color: #ffffff; overflow: hidden; }
.contact-actions.parallax-section { background-size: cover; background-position: center; background-attachment: fixed; }
.contact-actions .parallax-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.7); z-index: 0; }
.contact-actions .container { position: relative; z-index: 1; }
.actions-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.action-item { background: rgba(255,255,255,0.96); border: 1px solid rgba(229,231,235,0.9); border-radius: 0.75rem; padding: 1.75rem; box-shadow: 0 20px 40px rgba(0,0,0,0.15); backdrop-filter: blur(6px); }
.action-item h3 { color: #111827; font-weight: 800; margin-bottom: 0.5rem; }
.action-item p { color: #374151; }
.action-link { color: #111827; font-weight: 600; text-decoration: none; }
.phones-row { display: flex; gap: 1rem; align-items: center; margin-top: 0.5rem; }
.phones-row a { color: #111827; text-decoration: none; font-weight: 600; }

.contact-form-section { padding: 4rem 0; background: #ffffff; }
.contact-form { max-width: 900px; margin: 0 auto; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
.input, .textarea { width: 100%; border: 1px solid #e5e7eb; border-radius: 0.5rem; padding: 0.75rem 1rem; font-family: inherit; }
.input:focus, .textarea:focus { outline: none; border-color: #111827; }
.textarea { resize: vertical; }

.offices { padding: 4rem 0; background: #f9fafb; }
.office-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.office-card { background: #ffffff; border: 1px solid #f3f4f6; border-radius: 0.75rem; padding: 1.5rem; }
.office-title { margin: 0 0 0.25rem; font-weight: 700; color: #111827; }
.office-line { margin: 0.25rem 0; color: #6b7280; }

@media (max-width: 1024px) {
  .contact-grid { grid-template-columns: 1fr; }
  .actions-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .office-grid { grid-template-columns: 1fr; }
  
  /* Process section - 2 columns on tablet */
  .process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
/* Position My Site - Clean Modern Styles */

/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
    line-height: 1.5;
    color: #1f2937;
    background: #ffffff;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Typography System */
.text-sm { font-size: 0.875rem; }
.text-base { font-size: 1rem; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-3xl { font-size: 1.875rem; }
.text-4xl { font-size: 2.25rem; }
.text-5xl { font-size: 3rem; }
.text-6xl { font-size: 3.75rem; }

.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }

.text-gray-600 { color: #4b5563; }
.text-gray-900 { color: #111827; }

/* Button System */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.875rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.15s ease-in-out;
    text-decoration: none;
    border: none;
    cursor: pointer;
    white-space: nowrap;
}

.btn-primary {
    background: #1f2937;
    color: #ffffff;
}

.btn-primary:hover {
    background: #374151;
    transform: translateY(-1px);
}

.btn-secondary {
    background: #ffffff;
    color: #1f2937;
    border: 1px solid #e5e7eb;
}

.btn-secondary:hover {
    background: #f9fafb;
    border-color: #d1d5db;
}

/* Navigation */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid #f3f4f6;
    z-index: 9999;
    transition: all 0.2s ease;
    min-height: 4rem; /* Prevent CLS */
    height: 4rem; /* Fixed height */
}

.navbar.scrolled {
    background: rgba(255, 255, 255, 0.95);
    border-bottom-color: #e5e7eb;
}

.nav-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 4rem;
    min-height: 4rem; /* Prevent CLS */
    position: relative;
}

.nav-logo {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1f2937;
    text-decoration: none;
    line-height: 1.5;
    min-height: 30px; /* Prevent CLS */
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 2rem;
    min-height: 4rem; /* Prevent CLS */
}

/* Dropdown Navigation */
.nav-dropdown {
    position: relative;
}

.nav-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff;
    border-radius: 0.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    min-width: 200px;
    padding: 0.5rem 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.2s ease;
    z-index: 1000;
    margin-top: 0.5rem;
}

.nav-dropdown:hover .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nav-dropdown-link {
    display: block;
    padding: 0.75rem 1.5rem;
    color: #475569;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.nav-dropdown-link.nav-dropdown-sub {
    padding-left: 2.5rem;
    font-size: 0.9rem;
    color: #64748b;
}

.nav-dropdown-link:hover {
    background: #f8fafc;
    color: #3b82f6;
    padding-left: 1.75rem;
}

.nav-dropdown-link.nav-dropdown-sub:hover {
    padding-left: 2.75rem;
}

.nav-link {
    color: #6b7280;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.875rem;
    transition: color 0.2s ease;
}

.nav-link:hover {
    color: #1f2937;
}

.nav-cta {
    background: #1f2937;
    color: #ffffff;
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.nav-cta:hover {
    background: #374151;
    color: #ffffff;
}

/* Mobile Navigation */
.mobile-menu-button {
    display: none;
    background: none;
    border: none;
    padding: 0.5rem;
    cursor: pointer;
    position: relative;
    z-index: 10000;
    width: 48px; /* Fixed width to prevent CLS */
    height: 48px; /* Fixed height to prevent CLS */
    flex-shrink: 0; /* Prevent shrinking */
}

.mobile-menu-icon {
    width: 1.5rem;
    height: 1.5rem;
    color: #4b5563;
}

/* Hero Section */
.hero {
    padding: 8rem 0 6rem;
    background: linear-gradient(to bottom, #ffffff, #f9fafb);
    position: relative;
    overflow: hidden;
}

.hero-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    min-height: 500px; /* Prevent height jumping */
}

/* Hero Slides */
.hero-slide {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    transition: opacity 0.6s ease-in-out;
    transform: translateX(0); /* Remove transform animations that cause flashing */
}

.hero-slide.active {
    opacity: 1;
    visibility: visible;
    position: relative;
}

/* Remove prev/next classes that cause flashing */
.hero-slide.prev,
.hero-slide.next {
    transform: translateX(0);
}

/* Hero Indicators */
.hero-indicators {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 3rem;
    position: relative;
    z-index: 10;
}

.indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #d1d5db;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.indicator.active {
    background: #1f2937;
    border-color: #1f2937;
}

.indicator:hover {
    border-color: #6b7280;
    background: #f3f4f6;
}

.indicator.active:hover {
    background: #374151;
    border-color: #374151;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    background: #e2e8f0;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 2rem;
}

@media (max-width: 768px) {
    /* Reserve space for fixed navbar on mobile - add padding to hero sections */
    .hero,
    .about-hero,
    .team-hero,
    .blog-hero,
    .app-builder-hero,
    .app-hero,
    .seo-tools-hero,
    .why-hero {
        padding-top: calc(4rem + 25px) !important; /* 4rem for navbar + 25px spacing */
    }
    
    .hero-badge {
        margin-top: 0;
    }
    
    /* Reduce excessive spacing on About Us section on mobile */
    .about-main .section-title {
        margin-bottom: 0.5rem !important; /* Reduced from 1rem to tighten spacing */
    }
    
    .about-text {
        margin-top: -0.25rem !important; /* Pull up slightly to reduce gap */
    }
    
    .about-text p {
        margin-top: 0 !important;
        margin-bottom: 1rem !important;
    }
    
    .about-text p:first-child {
        margin-top: 0 !important;
    }
    
    /* Reduce spacing above sections on mobile */
    .about-values {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
    
    .value-item {
        margin-top: 0 !important;
    }
    
    .section-title {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    
    /* Tighten up section spacing globally on mobile */
    section {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
    
    /* Make ALL buttons same width on mobile - Global */
    .hero-actions,
    .cta-actions,
    .app-hero-actions,
    .about-hero .hero-actions,
    .team-hero .hero-actions,
    .why-hero .hero-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem !important;
        width: 100% !important;
    }
    
    /* All buttons full width on mobile */
    .hero-actions .btn,
    .cta-actions .btn,
    .app-hero-actions .btn,
    .about-hero .btn,
    .team-hero .btn,
    .why-hero .btn,
    .btn {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
    }
}

.hero-title {
    font-size: 3.75rem;
    font-weight: 800;
    line-height: 1.1;
    color: #111827;
    margin-bottom: 1.5rem;
    letter-spacing: -0.025em;
}

.hero-subtitle {
    font-size: 1.25rem;
    color: #6b7280;
    margin-bottom: 3rem;
    line-height: 1.6;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.hero-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 4rem;
}

.hero-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    max-width: 600px;
    margin: 0 auto;
}

.hero-stat {
    text-align: center;
}

.hero-stat-number {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    color: #111827;
    line-height: 1;
}

.hero-stat-label {
    font-size: 0.875rem;
    color: #6b7280;
    margin-top: 0.5rem;
}

/* Trust Section */
.trust {
    padding: 3rem 0;
    background: #f9fafb;
    border-bottom: 1px solid #f3f4f6;
}

.trust-content {
    text-align: center;
}

.trust-label {
    font-size: 0.875rem;
    color: #6b7280;
    margin-bottom: 2rem;
    font-weight: 500;
}

.trust-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.trust-logo {
    height: 2rem;              /* ~32px uniform height */
    width: auto;               /* preserve aspect ratio */
    max-width: 160px;          /* prevent overly wide logos */
    display: block;            /* avoid baseline misalignment */
    object-fit: contain;       /* contain inside box cleanly */
    opacity: 0.6;
    filter: grayscale(100%);
    transition: all 0.2s ease;
}

/* SVG wordmarks used for logos */
.trust-logo-svg { height: 2rem; width: auto; opacity: 0.6; transition: opacity 0.2s ease; }
.trust-logo-svg:hover { opacity: 1; }

/* Keep a single row on larger screens so logos align neatly */
@media (min-width: 1024px) {
  .trust-logos { flex-wrap: nowrap; }
}

.trust-logo:hover {
    opacity: 1;
    filter: grayscale(0%);
}

/* About Section */
.about {
    padding: 6rem 0;
    background: #ffffff;
}

.about-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.about-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 1.5rem;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.about-description {
    font-size: 1.125rem;
    color: #6b7280;
    line-height: 1.7;
}

.about-image {
    display: flex;
    justify-content: center;
    align-items: center;
}

.about-img {
    width: 100%;
    max-width: 500px;
    height: auto;
    border-radius: 0.75rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.about-img:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 15px -3px rgba(0, 0, 0, 0.15);
}

/* Services Section */
.services {
    padding: 6rem 0;
    background: #ffffff;
}

.section-header {
    text-align: center;
    max-width: 768px;
    margin: 0 auto 4rem;
}

.section-badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    background: #333333;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 1rem;
}

.section-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 1rem;
    letter-spacing: -0.025em;
}

.section-description {
    font-size: 1.125rem;
    color: #6b7280;
    line-height: 1.6;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
}

.service-card {
    background: #ffffff;
    border: 1px solid #f3f4f6;
    border-radius: 0.75rem;
    padding: 2rem;
    transition: all 0.2s ease;
}

.service-card:hover {
    border-color: #e5e7eb;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.service-icon {
    width: 3rem;
    height: 3rem;
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.service-icon::before {
    content: '';
    width: 1.5rem;
    height: 1.5rem;
    background: #9ca3af;
    border-radius: 0.25rem;
}

/* When inline SVG icon is present, don't render the gray square */
.service-icon.has-svg::before { content: none; }
.service-icon.has-svg svg { color: #374151; display:block; }

.service-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.75rem;
}

.service-description {
    color: #6b7280;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.service-link {
    color: #1f2937;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s ease;
}

.service-link:hover {
    gap: 0.75rem;
}

.service-arrow {
    transition: transform 0.2s ease;
}

.service-link:hover .service-arrow {
    transform: translateX(2px);
}

/* Technologies Section */
.technologies {
    padding: 6rem 0;
    background: #f9fafb;
}

.tech-category {
    font-size: 1.5rem;
    font-weight: 600;
    color: #4b5563;
    text-align: center;
    margin-top: 1rem;
}

.tech-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
    gap: 3rem;
    margin-top: 4rem;
}

.tech-item {
    display: flex;
    gap: 2rem;
    padding: 2.5rem;
    background: #ffffff;
    border-radius: 1rem;
    border: 1px solid #f3f4f6;
    transition: all 0.3s ease;
}

.tech-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
}

.tech-icon {
    flex-shrink: 0;
    width: 4rem;
    height: 4rem;
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tech-icon-apple {
    width: 2rem;
    height: 2rem;
    background: #111827;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.19-2.5 1.27-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.81-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.tech-icon-android {
    width: 2rem;
    height: 2rem;
    background: #3ddc84;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.523 15.3414c-.5511 0-.9993-.4486-.9993-.9997s.4482-.9993.9993-.9993c.5511 0 .9993.4482.9993.9993.0001.5511-.4482.9997-.9993.9997m-11.046 0c-.5511 0-.9993-.4486-.9993-.9997s.4482-.9993.9993-.9993c.5511 0 .9993.4482.9993.9993 0 .5511-.4482.9997-.9993.9997m11.4045-6.02l1.9973-3.4592a.416.416 0 00-.1521-.5676.416.416 0 00-.5676.1521l-2.0223 3.503C15.5902 8.2439 13.8533 7.8508 12 7.8508s-3.5902.3931-5.1367 1.0989L4.841 5.4467a.4161.4161 0 00-.5677-.1521.4157.4157 0 00-.1521.5676l1.9973 3.4592C2.6889 11.1867.3432 14.6589 0 18.761h24c-.3425-4.1021-2.6876-7.5743-6.1185-9.4396'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.tech-icon-react {
    width: 2rem;
    height: 2rem;
    background: #61dafb;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.23 12.004a2.236 2.236 0 0 1-2.235 2.236 2.236 2.236 0 0 1-2.236-2.236 2.236 2.236 0 0 1 2.235-2.236 2.236 2.236 0 0 1 2.236 2.236zm2.648-10.69c-1.346 0-3.107.96-4.888 2.622-1.78-1.653-3.542-2.602-4.887-2.602-.41 0-.783.093-1.106.278-1.375.793-1.683 3.264-.973 6.365C1.98 8.917 0 10.42 0 12.004c0 1.59 1.99 3.097 5.043 4.03-.704 3.113-.39 5.588.988 6.38.32.187.69.275 1.102.275 1.345 0 3.107-.96 4.888-2.624 1.78 1.654 3.542 2.603 4.887 2.603.41 0 .783-.09 1.106-.275 1.374-.792 1.683-3.263.973-6.365C22.02 15.096 24 13.59 24 12.004c0-1.59-1.99-3.097-5.043-4.032.704-3.11.39-5.587-.988-6.38a2.167 2.167 0 0 0-1.092-.278zm-.005 1.09v.006c.225 0 .406.044.558.127.666.382.955 1.835.73 3.704-.054.46-.142.945-.25 1.44a23.476 23.476 0 0 0-3.107-.534A23.892 23.892 0 0 0 12.769 4.7c1.592-1.48 3.087-2.292 4.105-2.295zm-9.77.02c1.012 0 2.514.808 4.11 2.28-.686.72-1.37 1.537-2.02 2.442a22.73 22.73 0 0 0-3.113.538 15.02 15.02 0 0 1-.254-1.42c-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05c.455.468.91.992 1.36 1.564-.44-.02-.89-.034-1.36-.034-.47 0-.92.014-1.36.034.44-.572.895-1.096 1.36-1.564zM12 8.1c.74 0 1.477.034 2.202.093.406.582.802 1.203 1.183 1.86.372.64.71 1.29 1.018 1.946-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87a25.64 25.64 0 0 1-4.412.005 26.64 26.64 0 0 1-1.183-1.86c-.372-.64-.71-1.29-1.018-1.946a25.17 25.17 0 0 1 1.013-1.954c.38-.66.773-1.286 1.18-1.868A25.245 25.245 0 0 1 12 8.098zm-3.635.254c-.24.377-.48.763-.704 1.16-.225.39-.435.782-.635 1.174-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0c.695.103 1.365.23 2.006.387-.18.632-.405 1.282-.66 1.933a25.12 25.12 0 0 0-1.345-2.32zm3.063.675c.484.15.944.317 1.375.498 1.732.74 2.852 1.708 2.852 2.476-.005.768-1.125 1.74-2.857 2.475-.42.18-.88.342-1.355.493a23.966 23.966 0 0 0-1.1-2.98c.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98a23.142 23.142 0 0 0-1.086 2.964c-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474 0-.768 1.12-1.742 2.852-2.476.42-.18.88-.342 1.356-.494zm11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39a25.819 25.819 0 0 0 1.341-2.338zm-9.945.02c.2.392.41.783.64 1.175.23.39.465.772.705 1.143a22.005 22.005 0 0 1-2.006-.386c.18-.63.406-1.282.66-1.933zM17.92 16.32c.112.493.2.968.254 1.423.23 1.868-.054 3.32-.714 3.708-.147.09-.338.128-.563.128-1.012 0-2.514-.807-4.11-2.28.686-.72 1.37-1.536 2.02-2.44 1.107-.118 2.154-.3 3.113-.54zm-11.83.01c.96.234 2.006.415 3.107.532.66.905 1.345 1.727 2.035 2.446-1.595 1.483-3.092 2.295-4.11 2.295a1.185 1.185 0 0 1-.553-.132c-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64c.44.02.89.034 1.36.034.47 0 .92-.014 1.36-.034-.44.572-.895 1.095-1.36 1.563-.455-.468-.91-.991-1.36-1.563z'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.tech-icon-flutter {
    width: 2rem;
    height: 2rem;
    background: #02569b;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.314 0L2.3 12 6 15.7 21.684.013h-7.37zm.159 11.871L6.857 19.48l4.97 4.52H19.3l-4.828-4.829 4.828-4.828h-4.827z'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.tech-icon-ionic {
    width: 2rem;
    height: 2rem;
    background: #3880ff;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0zm0 22.5C5.649 22.5 1.5 18.351 1.5 12S5.649 1.5 12 1.5s10.5 4.149 10.5 10.5-4.149 10.5-10.5 10.5zm5.25-10.5c0 2.9-2.35 5.25-5.25 5.25S6.75 14.9 6.75 12 9.1 6.75 12 6.75s5.25 2.35 5.25 5.25z'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.tech-icon-swift {
    width: 2rem;
    height: 2rem;
    background: #fa7343;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7.508 0c-.287 0-.573 0-.86.002-.236.002-.472.004-.707.009-.222.004-.444.009-.665.016-.211.007-.42.015-.63.025-.199.009-.398.02-.595.032-.188.012-.375.025-.562.04-.178.014-.355.029-.531.046-.168.016-.335.034-.501.053-.158.018-.315.038-.471.059-.149.02-.297.042-.444.065-.140.022-.279.045-.417.07-.131.024-.261.049-.39.076-.123.025-.245.052-.366.08-.115.027-.229.055-.342.085-.108.028-.215.058-.321.089-.101.030-.201.062-.3.095-.094.032-.187.065-.279.099-.088.033-.175.068-.261.104-.082.035-.163.071-.243.108-.076.037-.151.075-.225.114-.070.038-.139.077-.207.117-.065.039-.129.080-.192.121-.060.041-.119.083-.177.126-.055.042-.109.085-.162.129-.050.043-.099.087-.147.132-.045.044-.089.089-.132.135-.041.045-.081.091-.120.138-.037.046-.073.093-.108.141-.033.047-.065.095-.096.143-.029.048-.057.097-.084.146-.026.049-.051.098-.075.148-.023.049-.045.099-.066.149-.020.050-.039.101-.057.152-.017.050-.033.101-.048.152-.014.051-.027.102-.039.154-.011.051-.021.103-.030.154-.008.052-.015.104-.021.156-.006.052-.011.104-.015.157-.003.052-.005.105-.006.157-.001.053-.001.106 0 .158 0 .053.001.106.003.158.003.052.007.105.012.157.006.052.013.104.021.156.009.051.019.103.030.154.013.051.027.102.042.153.016.051.033.101.051.152.019.050.039.100.061.149.023.049.047.098.072.147.026.048.054.096.083.144.030.047.062.094.095.140.034.046.070.092.107.137.038.045.078.089.119.133.042.043.086.086.131.128.046.042.094.083.143.123.050.040.102.079.155.117.054.037.110.074.167.110.058.035.118.069.179.102.062.033.126.065.191.096.066.031.134.061.203.090.070.028.142.055.215.081.074.026.150.051.227.075.078.024.158.047.239.069.082.022.166.043.251.063.086.020.174.039.263.057.090.018.182.035.275.051.094.016.189.031.286.045.098.014.197.027.297.039.101.012.204.023.307.033.104.010.210.019.316.027.108.008.217.015.326.021.111.006.223.011.335.015.114.004.229.007.344.009.117.002.235.003.353.003.119 0 .238-.001.356-.003.115-.002.230-.005.344-.009.112-.004.224-.009.335-.015.109-.006.218-.013.326-.021.106-.008.212-.017.316-.027.103-.010.206-.021.307-.033.100-.012.199-.025.297-.039.097-.014.192-.029.286-.045.093-.016.185-.033.275-.051.089-.018.177-.037.263-.057.085-.020.169-.041.251-.063.081-.022.161-.045.239-.069.077-.024.153-.049.227-.075.073-.026.145-.053.215-.081.069-.029.137-.059.203-.090.065-.031.129-.063.191-.096.061-.033.121-.067.179-.102.057-.036.113-.073.167-.110.053-.038.105-.077.155-.117.049-.040.097-.081.143-.123.045-.042.089-.085.131-.128.041-.044.081-.088.119-.133.037-.045.073-.091.107-.137.033-.046.065-.093.095-.140.029-.048.057-.096.083-.144.025-.049.049-.098.072-.147.022-.049.042-.099.061-.149.018-.050.035-.101.051-.152.015-.051.029-.102.042-.153.011-.051.021-.103.030-.154.008-.052.015-.104.021-.156.005-.052.009-.105.012-.157.002-.052.003-.105.003-.158.001-.052.001-.105 0-.158-.001-.052-.003-.105-.006-.157-.004-.053-.009-.105-.015-.157-.006-.052-.013-.104-.021-.156-.009-.051-.019-.103-.030-.154-.011-.051-.024-.103-.039-.154-.015-.050-.031-.101-.048-.152-.018-.051-.037-.102-.057-.152-.021-.050-.042-.100-.066-.149-.024-.050-.049-.099-.075-.148-.027-.049-.055-.098-.084-.146-.031-.048-.063-.096-.096-.143-.035-.048-.071-.095-.108-.141-.039-.047-.079-.093-.120-.138-.043-.046-.087-.091-.132-.135-.048-.045-.097-.089-.147-.132-.053-.044-.107-.087-.162-.129-.058-.043-.117-.085-.177-.126-.063-.041-.127-.082-.192-.121-.068-.040-.137-.079-.207-.117-.074-.039-.149-.077-.225-.114-.080-.037-.161-.073-.243-.108-.086-.036-.173-.071-.261-.104-.092-.034-.185-.067-.279-.099-.099-.033-.199-.065-.300-.095-.106-.031-.213-.061-.321-.089-.113-.030-.227-.058-.342-.085-.121-.028-.243-.055-.366-.080-.129-.027-.259-.052-.390-.076-.138-.025-.277-.048-.417-.070-.147-.023-.295-.045-.444-.065-.156-.021-.313-.041-.471-.059-.166-.019-.333-.037-.501-.053-.176-.017-.353-.032-.531-.046-.187-.015-.374-.028-.562-.040-.197-.012-.396-.023-.595-.032-.210-.010-.419-.018-.630-.025-.221-.007-.443-.012-.665-.016-.235-.005-.471-.007-.707-.009C8.081 0 7.794 0 7.508 0z'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.tech-content {
    flex: 1;
}

.tech-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.75rem;
    line-height: 1.4;
}

.tech-description {
    color: #6b7280;
    line-height: 1.6;
    font-size: 0.95rem;
}

/* Expertise Section */
.expertise {
    padding: 6rem 0;
    background: #ffffff;
}

.expertise-content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.expertise-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 2rem;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.expertise-description {
    font-size: 1.125rem;
    color: #6b7280;
    line-height: 1.7;
}

.expertise-description p {
    margin-bottom: 1.5rem;
}

.expertise-description p:last-child {
    margin-bottom: 0;
}

/* Portfolio Section */
.portfolio {
    padding: 6rem 0;
    background: #f9fafb;
}

.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 3rem;
    margin-top: 4rem;
}

.portfolio-item {
    background: #ffffff;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid #f3f4f6;
    transition: all 0.3s ease;
}

.portfolio-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}

.portfolio-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3/2;
}

.portfolio-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.portfolio-item:hover .portfolio-img {
    transform: scale(1.05);
}

.portfolio-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.portfolio-item:hover .portfolio-overlay {
    opacity: 1;
}

.portfolio-overlay-content {
    text-align: center;
    color: #ffffff;
}

.portfolio-overlay-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.portfolio-overlay-description {
    font-size: 1rem;
    margin-bottom: 1rem;
    opacity: 0.9;
}

.portfolio-link {
    color: #ffffff;
    text-decoration: none;
    font-weight: 500;
    padding: 0.5rem 1rem;
    border: 1px solid #ffffff;
    border-radius: 0.5rem;
    transition: all 0.2s ease;
    display: inline-block;
}

.portfolio-link:hover {
    background: #ffffff;
    color: #111827;
}

.portfolio-content {
    padding: 2rem;
}

.portfolio-category {
    font-size: 0.75rem;
    font-weight: 500;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

.portfolio-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1rem;
}

.portfolio-description {
    color: #6b7280;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.portfolio-tech {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.tech-tag {
    font-size: 0.75rem;
    font-weight: 500;
    color: #374151;
    background: #f3f4f6;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
}

/* TimeOff Dashboard Mockup */
.timeoff-mockup {
    width: 100%;
    height: 100%;
    background: #f8fafc;
    padding: 1.5rem;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.75rem;
    overflow: hidden;
}

.timeoff-header {
    background: #6366f1;
    color: white;
    padding: 1rem;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
}

.timeoff-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.75rem 0;
}

.progress-steps {
    display: flex;
    gap: 0.5rem;
}

.progress-steps .step {
    width: 3rem;
    height: 0.25rem;
    border-radius: 0.125rem;
    background: rgba(255, 255, 255, 0.3);
}

.progress-steps .step.completed {
    background: white;
}

.progress-steps .step.active {
    background: rgba(255, 255, 255, 0.7);
}

.timeoff-content {
    background: white;
    border-radius: 0.5rem;
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid #e5e7eb;
}

.onboarding-steps {
    margin-bottom: 1rem;
}

.step-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
}

.step-icon {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
}

.step-icon.green {
    background: #10b981;
}

.step-icon.blue {
    background: #3b82f6;
}

.step-icon.gray {
    background: #d1d5db;
}

.step-text {
    font-size: 0.8rem;
    color: #374151;
}

.step-item.completed .step-text {
    color: #10b981;
}

.step-item.active .step-text {
    color: #3b82f6;
    font-weight: 500;
}

.compliance-alert {
    background: #dbeafe;
    border: 1px solid #93c5fd;
    border-radius: 0.375rem;
    padding: 0.75rem;
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
}

.alert-icon {
    color: #3b82f6;
    font-weight: bold;
    font-size: 0.9rem;
}

.alert-title {
    font-weight: 600;
    color: #1e40af;
    font-size: 0.8rem;
    margin-bottom: 0.25rem;
}

.alert-text {
    color: #1e40af;
    font-size: 0.7rem;
}

.calendar-section {
    background: white;
    border-radius: 0.5rem;
    padding: 1rem;
    border: 1px solid #e5e7eb;
}

.calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.calendar-header h4 {
    font-size: 0.9rem;
    font-weight: 600;
    color: #374151;
    margin: 0;
}

.calendar-nav {
    display: flex;
    gap: 0.5rem;
}

.nav-btn {
    background: #f3f4f6;
    border: none;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.7rem;
    color: #6b7280;
    cursor: pointer;
}

.mini-calendar {
    margin-bottom: 1rem;
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.125rem;
}

.day-header {
    text-align: center;
    font-size: 0.6rem;
    font-weight: 600;
    color: #6b7280;
    padding: 0.25rem;
}

.day {
    text-align: center;
    padding: 0.25rem;
    font-size: 0.7rem;
    border-radius: 0.125rem;
    position: relative;
}

.day.vacation {
    background: #dcfce7;
    color: #166534;
}

.day.personal {
    background: #dbeafe;
    color: #1e40af;
}

.day.pending {
    background: #fef3c7;
    color: #92400e;
}

.day.sick {
    background: #fee2e2;
    color: #991b1b;
}

.day.today {
    background: #6366f1;
    color: white;
    font-weight: 600;
}

.stats-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.stat-item {
    text-align: center;
    flex: 1;
}

.stat-number {
    font-size: 1.25rem;
    font-weight: 700;
    color: #374151;
}

.stat-number.green {
    color: #10b981;
}

.stat-number.orange {
    color: #f59e0b;
}

.stat-label {
    font-size: 0.6rem;
    color: #6b7280;
    margin-top: 0.25rem;
}

/* NutriAnalytics Dashboard Mockup */
.nutrianalytics-mockup {
    width: 100%;
    height: 100%;
    background: #f8fafc;
    display: flex;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.7rem;
    overflow: hidden;
}

.nutri-sidebar {
    width: 200px;
    background: #374151;
    color: white;
    padding: 1rem;
    flex-shrink: 0;
}

.nutri-logo {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #4b5563;
}

.logo-icon {
    font-size: 1.2rem;
}

.logo-main {
    font-size: 0.8rem;
    font-weight: 700;
}

.nutri-grey {
    color: #9ca3af;
}

.nutri-green {
    color: #10b981;
}

.logo-sub {
    font-size: 0.6rem;
    color: #9ca3af;
}

.nutri-user {
    font-size: 0.8rem;
    margin-bottom: 1rem;
    color: #d1d5db;
}

.nutri-nav {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.nav-item {
    padding: 0.5rem;
    font-size: 0.7rem;
    color: #d1d5db;
    cursor: pointer;
    border-radius: 0.25rem;
    transition: background 0.2s;
}

.nav-item:hover {
    background: #4b5563;
}

.nav-item.active {
    background: #10b981;
    color: white;
}

.nutri-main {
    flex: 1;
    padding: 1rem;
    overflow-y: auto;
}

.nutri-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e5e7eb;
}

.farm-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #10b981;
    margin: 0;
}

.header-buttons {
    display: flex;
    gap: 0.5rem;
}

.btn-dashboard, .btn-validate {
    padding: 0.25rem 0.75rem;
    font-size: 0.7rem;
    border: 1px solid #d1d5db;
    border-radius: 0.25rem;
    background: white;
    color: #374151;
    cursor: pointer;
}

.btn-dashboard {
    background: #3b82f6;
    color: white;
    border-color: #3b82f6;
}

.nutri-filters {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.filter-select {
    padding: 0.25rem 0.5rem;
    font-size: 0.7rem;
    border: 1px solid #d1d5db;
    border-radius: 0.25rem;
    background: white;
    min-width: 120px;
}

.nutri-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.weather-card, .forecast-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem;
}

.weather-card h4, .forecast-card h4 {
    font-size: 0.8rem;
    margin: 0 0 0.75rem 0;
    color: #374151;
}

.weather-info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.weather-icon {
    font-size: 2rem;
}

.weather-details {
    flex: 1;
}

.location {
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.25rem;
}

.condition {
    color: #6b7280;
    font-size: 0.7rem;
    margin-bottom: 0.25rem;
}

.temp {
    font-size: 1.5rem;
    font-weight: 700;
    color: #3b82f6;
    margin-bottom: 0.25rem;
}

.humidity {
    font-size: 0.6rem;
    color: #6b7280;
}

.forecast-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.25rem;
}

.day-forecast {
    text-align: center;
    font-size: 0.6rem;
    color: #6b7280;
    line-height: 1.2;
}

.rainfall-charts {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.rainfall-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem;
}

.rainfall-card h4 {
    font-size: 0.8rem;
    margin: 0 0 0.75rem 0;
    color: #374151;
}

.bar-chart {
    display: flex;
    align-items: end;
    gap: 0.125rem;
    height: 60px;
    margin-bottom: 0.5rem;
}

.bar {
    background: #3b82f6;
    width: 8px;
    min-height: 2px;
    border-radius: 1px;
}

.chart-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #3b82f6;
    text-align: center;
}

.sample-details {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem;
    margin-bottom: 1rem;
}

.detail-row {
    display: grid;
    grid-template-columns: auto 1fr auto 1fr auto 1fr;
    gap: 1rem;
    padding: 0.5rem 0;
    font-size: 0.7rem;
}

.detail-row .label {
    font-weight: 600;
    color: #6b7280;
}

.detail-row .value {
    color: #374151;
}

.yield-section {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem;
    margin-bottom: 1rem;
}

.yield-potential {
    margin-bottom: 1rem;
}

.yield-bar {
    background: #dcfce7;
    color: #166534;
    padding: 0.75rem;
    border-radius: 0.5rem;
    text-align: center;
    font-weight: 600;
    font-size: 0.9rem;
}

.enhancers-title {
    color: #10b981;
    font-weight: 600;
    font-size: 0.8rem;
    text-align: center;
    padding: 1rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
}

.nutri-report {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem;
    text-align: center;
    width: 120px;
}

.report-title {
    color: #10b981;
    font-weight: 600;
    font-size: 0.7rem;
    margin-bottom: 0.5rem;
}

.nutrient-wheel {
    font-size: 3rem;
}

/* Kovrra ERP Dashboard Mockup - Clean Professional Design */
.kovrra-mockup {
    width: 100%;
    height: 100%;
    background: #fafafa;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.75rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.kovrra-header {
    background: #ffffff;
    color: #1f2937;
    padding: 1rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.kovrra-logo {
    display: flex;
    align-items: center;
}

.kovrra-logo .logo-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1f2937;
    letter-spacing: -0.025em;
}

.kovrra-nav {
    display: flex;
    gap: 0;
}

.kovrra-nav .nav-item {
    padding: 0.75rem 1.5rem;
    cursor: pointer;
    border-radius: 0;
    transition: all 0.2s;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6b7280;
    border-bottom: 2px solid transparent;
    position: relative;
}

.kovrra-nav .nav-item:hover {
    color: #374151;
    background: #f9fafb;
}

.kovrra-nav .nav-item.active {
    color: #3b82f6;
    background: none;
}

.kovrra-nav .nav-item.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 3rem);
    height: 2px;
    background: #3b82f6;
}

.user-profile {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.user-avatar {
    width: 2.5rem;
    height: 2.5rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    font-weight: 600;
    color: white;
}

.user-name {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
}

.kovrra-main {
    flex: 1;
    padding: 2rem;
    overflow-y: auto;
    background: #fafafa;
}

.dashboard-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}

.dashboard-title h2 {
    font-size: 1.875rem;
    font-weight: 700;
    color: #111827;
    margin: 0;
    letter-spacing: -0.025em;
}

.date-select {
    padding: 0.5rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    background: white;
    font-size: 0.875rem;
    color: #374151;
    min-width: 140px;
}

.kpi-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.kpi-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    padding: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    transition: all 0.2s;
}

.kpi-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transform: translateY(-1px);
}

.kpi-content {
    flex: 1;
}

.kpi-value {
    font-size: 1.875rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.25rem;
    letter-spacing: -0.025em;
}

.kpi-label {
    font-size: 0.875rem;
    color: #6b7280;
    margin-bottom: 0.75rem;
    font-weight: 500;
}

.kpi-change {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    display: inline-block;
}

.kpi-change.positive {
    background: #ecfdf5;
    color: #059669;
}

.kpi-change.negative {
    background: #fef2f2;
    color: #dc2626;
}

.kpi-chart {
    flex-shrink: 0;
    margin-left: 1rem;
}

.bar-chart-mini {
    display: flex;
    align-items: end;
    gap: 2px;
    height: 30px;
}

.bar-chart-mini .bar {
    width: 4px;
    background: #3b82f6;
    border-radius: 2px;
    min-height: 4px;
}

.progress-ring {
    display: flex;
    align-items: center;
    justify-content: center;
}

.dashboard-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-bottom: 2rem;
}

.chart-section {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.chart-card, .table-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    padding: 1.5rem;
    transition: all 0.2s;
}

.chart-card:hover, .table-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.chart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.chart-card h3, .table-card h3 {
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin: 0;
}

.chart-period {
    font-size: 0.75rem;
    color: #6b7280;
    background: #f3f4f6;
    padding: 0.25rem 0.75rem;
    border-radius: 0.375rem;
    font-weight: 500;
}

.chart-container {
    height: 120px;
}

.chart-svg {
    width: 100%;
    height: 100%;
}

.metrics-grid {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.metric-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.metric-label {
    font-size: 0.875rem;
    color: #6b7280;
    font-weight: 500;
    flex: 1;
}

.metric-value {
    font-size: 0.875rem;
    font-weight: 600;
    color: #111827;
    margin: 0 1rem;
}

.metric-bar {
    flex: 1;
    height: 6px;
    background: #f3f4f6;
    border-radius: 3px;
    overflow: hidden;
}

.metric-fill {
    height: 100%;
    background: linear-gradient(90deg, #3b82f6, #1d4ed8);
    border-radius: 3px;
    transition: width 0.3s ease;
}

.data-tables {
    display: flex;
    flex-direction: column;
}

.table-header-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.table-actions {
    display: flex;
    gap: 0.75rem;
}

.btn-primary, .btn-secondary {
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    border: 1px solid;
}

.btn-primary {
    background: #3b82f6;
    color: white;
    border-color: #3b82f6;
}

.btn-primary:hover {
    background: #2563eb;
    border-color: #2563eb;
}

.btn-secondary {
    background: white;
    color: #374151;
    border-color: #d1d5db;
}

.btn-secondary:hover {
    background: #f9fafb;
    border-color: #9ca3af;
}

.data-table {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr 1fr;
    gap: 0;
}

.table-header {
    display: contents;
    font-weight: 600;
    color: #6b7280;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.table-header span {
    padding: 0.75rem 0;
    border-bottom: 1px solid #e5e7eb;
}

.table-row {
    display: contents;
    font-size: 0.875rem;
}

.table-row span {
    padding: 1rem 0;
    border-bottom: 1px solid #f3f4f6;
    display: flex;
    align-items: center;
}

.transaction-id {
    font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
    color: #6b7280;
    font-size: 0.75rem;
}

.amount {
    font-weight: 600;
    color: #111827;
}

.status {
    padding: 0.25rem 0.75rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 500;
    text-align: center;
    width: fit-content;
}

.status.completed {
    background: #ecfdf5;
    color: #059669;
}

.status.processing {
    background: #fef3c7;
    color: #d97706;
}

.status.pending {
    background: #fef2f2;
    color: #dc2626;
}

/* Securagig Professional Mobile App Mockup */
.securagig-mockup {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.phone-frame {
    width: 320px;
    height: 640px;
    background: #ffffff;
    border-radius: 2.5rem;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
    border: 8px solid #1f2937;
}

.phone-status-bar {
    background: #1f2937;
    color: white;
    padding: 0.75rem 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.875rem;
    font-weight: 600;
}

.status-left {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.status-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.status-icon, .wifi-icon {
    opacity: 0.9;
}

.battery {
    display: flex;
    align-items: center;
    font-size: 0.875rem;
}

.app-main {
    flex: 1;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.app-top-section {
    background: linear-gradient(135deg, #1e3a8a 0%, #3730a3 100%);
    color: white;
    padding: 2rem 1.5rem;
    text-align: center;
    position: relative;
}

.securagig-branding {
    margin-bottom: 2rem;
}

.logo-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.shield-logo {
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
}

.logo-text-container {
    text-align: center;
}

.logo-title {
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin-bottom: 0.25rem;
}

.logo-subtitle {
    font-size: 0.875rem;
    opacity: 0.9;
    font-weight: 500;
}

.guard-hero {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}

.guard-image-professional {
    width: 160px;
    height: 200px;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
    background: #f8fafc;
}

.guard-photo-main {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-header {
    padding: 2rem 1.5rem 1.5rem;
    text-align: center;
    background: #ffffff;
}

.service-main-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 1rem 0;
    line-height: 1.2;
}

.service-description {
    font-size: 1rem;
    color: #6b7280;
    line-height: 1.5;
    margin: 0;
}

.location-selector {
    padding: 0 1.5rem 1.5rem;
    background: #ffffff;
}

.selector-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 1rem 0;
}

.dropdown-container {
    position: relative;
}

.professional-select {
    width: 100%;
    padding: 1rem 3rem 1rem 1rem;
    border: 2px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #ffffff;
    font-size: 1rem;
    color: #374151;
    font-weight: 500;
    appearance: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.professional-select:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.dropdown-arrow {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #6b7280;
    pointer-events: none;
}

.service-options {
    flex: 1;
    padding: 0 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background: #ffffff;
}

.service-card-professional {
    background: #ffffff;
    border: 2px solid #f3f4f6;
    border-radius: 1rem;
    padding: 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.service-card-professional:hover {
    border-color: #e5e7eb;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-1px);
}

.service-guard-image {
    flex-shrink: 0;
}

.service-guard-photo {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 0.75rem;
    object-fit: cover;
    background: #f8fafc;
    border: 2px solid #e5e7eb;
}

.service-details {
    flex: 1;
}

.service-type {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1f2937;
    margin: 0 0 0.25rem 0;
}

.service-hours {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0 0 0.25rem 0;
}

.service-rate {
    font-size: 1rem;
    font-weight: 700;
    color: #dc2626;
    margin: 0;
}

.service-controls {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.info-btn {
    width: 2.25rem;
    height: 2.25rem;
    background: #dc2626;
    color: white;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(220, 38, 38, 0.2);
}

.info-btn:hover {
    background: #b91c1c;
    transform: scale(1.05);
}

.remove-btn, .add-btn {
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    min-width: 80px;
}

.remove-btn {
    background: #fef2f2;
    color: #dc2626;
    border: 1px solid #fecaca;
}

.remove-btn:hover {
    background: #fee2e2;
    border-color: #fca5a5;
}

.add-btn {
    background: #dc2626;
    color: white;
    box-shadow: 0 2px 4px rgba(220, 38, 38, 0.2);
}

.add-btn:hover {
    background: #b91c1c;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(220, 38, 38, 0.3);
}

.app-bottom {
    padding: 1.5rem;
    background: #ffffff;
    border-top: 1px solid #f3f4f6;
}

.get-started-btn {
    width: 100%;
    background: #dc2626;
    color: white;
    padding: 1rem 1.5rem;
    border-radius: 0.75rem;
    font-size: 1.125rem;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
}

.get-started-btn:hover {
    background: #b91c1c;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(220, 38, 38, 0.4);
}

/* Stats Section */
.stats {
    padding: 4rem 0;
    background: #1f2937;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
}

.stat-item {
    text-align: center;
    padding: 1.5rem;
}

.stat-number {
    font-size: 2.5rem;
    font-weight: 800;
    color: #ffffff;
    display: block;
    line-height: 1;
}

.stat-label {
    font-size: 0.875rem;
    color: #d1d5db;
    margin-top: 0.5rem;
    font-weight: 500;
}

/* CTA Section */
.cta {
    padding: 6rem 0;
    background: #f9fafb;
}

.cta-content {
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
}

.cta-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 1rem;
    letter-spacing: -0.025em;
}

.cta-description {
    font-size: 1.125rem;
    color: #6b7280;
    margin-bottom: 2rem;
    line-height: 1.6;
}

.cta-form {
    display: flex;
    gap: 1rem;
    max-width: 400px;
    margin: 0 auto;
}

.cta-input {
    flex: 1;
    padding: 0.75rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    transition: all 0.2s ease;
}

.cta-input:focus {
    outline: none;
    border-color: #1f2937;
    box-shadow: 0 0 0 3px rgba(31, 41, 55, 0.1);
}

.form-message {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    text-align: center;
}

.form-message.success {
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
}

.form-message.error {
    background: #fef2f2;
    color: #dc2626;
    border: 1px solid #fecaca;
}

/* Footer */
.footer {
    background: #1f2937;
    color: #ffffff;
    padding: 3rem 0 1.5rem;
}

.footer-content {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 3rem;
    margin-bottom: 2rem;
}

.footer-brand {
    max-width: 350px;
}

.footer-logo {
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1rem;
}

.footer-description {
    color: #ffffff;
    line-height: 1.6;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}

.footer-tagline {
    color: #ffffff;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 0.5rem;
}

.footer-section h4 {
    font-size: 0.875rem;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 1rem;
}

.footer-links {
    list-style: none;
}

.footer-links li {
    margin-bottom: 0.5rem;
}

.footer-links a {
    color: #ffffff;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s ease;
}

.footer-links a:hover {
    color: #d1d5db;
}

/* Social icons in footer */
.social-list li a { display: inline-flex; align-items: center; gap: 0.5rem; }
.social-icon { color: #ffffff; opacity: 0.9; }
.social-list li a:hover .social-icon { opacity: 1; }

/* Footer Contact & Social */
/* .footer-contact {
    margin-top: 1.5rem;
} */

.footer-contact p {
    margin-bottom: 0.5rem;
}

.footer-contact a {
    color: #ffffff;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.875rem;
    transition: color 0.3s ease;
}

.footer-contact a:hover {
    color: #d1d5db;
}

.footer-bottom {
    border-top: 1px solid #374151;
    padding-top: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #9ca3af;
    font-size: 0.875rem;
}

.footer-bottom-links {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.footer-bottom-links a {
    color: #ffffff;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s ease;
}

.footer-bottom-links a:hover {
    color: #d1d5db;
}

.footer-separator {
    color: #6b7280;
    font-size: 0.875rem;
}

/* SEO Tools Badge */
.seo-tools-sticker {
    display: inline-flex;
    align-items: center;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    letter-spacing: 0.3px;
    background: rgba(59, 130, 246, 0.08);
    color: #3b82f6 !important;
    padding: 0.25rem 0.65rem;
    border-radius: 4px;
    text-decoration: none;
    border: 1px solid rgba(59, 130, 246, 0.2);
    transition: all 0.2s ease;
    font-size: 0.75rem;
    line-height: 1.4;
}

.seo-tools-sticker:hover {
    background: rgba(59, 130, 246, 0.12);
    border-color: rgba(59, 130, 246, 0.3);
    color: #2563eb !important;
}


/* Deactivated legacy header/footer overrides
.blog-app .site-footer {
    margin-top: 4rem;
    background: #ffffff;
    color: #1e2236;
    border-top: 1px solid #e0e0e0;
}

.blog-app .site-footer .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 24px;
}

.blog-app .footer-top {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 24px;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 32px;
}

.blog-app .footer-top h3 {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #1e2236;
    margin: 0 0 18px;
}

.blog-app .list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.blog-app .list a {
    color: #5a5a5a;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.6;
}

.blog-app .list a:hover,
.blog-app .list a:focus-visible {
    text-decoration: underline;
}

.blog-app .footer-social {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.blog-app .footer-social a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #5a5a5a;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.blog-app .footer-social a:hover,
.blog-app .footer-social a:focus-visible {
    color: #1e2236;
}

.blog-app .footer-social a::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
}

.blog-app .footer-social a[href*="facebook"]::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"%235a5a5a\"><path d=\"M12 2.04C6.5 2.04 2 6.54 2 12.04c0 5.08 3.7 9.31 8.55 9.96v-7.04H8.05v-2.92h2.5V9.8c0-2.47 1.49-3.83 3.71-3.83 1.05 0 1.96.08 2.23.12v2.57h-1.52c-1.2 0-1.44.57-1.44 1.41v1.84h2.88l-.47 2.92h-2.41v7.04C18.3 21.35 22 17.12 22 12.04c0-5.5-4.5-10-9.96-10z\"/></svg>');
}

.blog-app .footer-social a[href*="x.com"]::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"%235a5a5a\"><path d=\"M18.244 2.25h3.308l-7.227 8.26L21.602 22H14.98L9.602 15.427 3.398 22H.098L7.58 13.556 0 2.25h7.544L12.24 8.407 18.244 2.25zm-1.152 17.14L12.318 9.692 4.15 3.022H6.298L11.625 10.077 17.949 17.25h-1.152z\"/></svg>');
}

.blog-app .footer-social a[href*="linkedin"]::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"%235a5a5a\"><path d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.044-1.852-3.044-1.853 0-2.136 1.445-2.136 2.951v5.662H9.591V9.298h3.413v1.561h.045c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.923-2.063-2.065 0-1.145.92-2.066 2.063-2.066 1.145 0 2.064.921 2.064 2.066 0 1.142-.92 2.065-2.064 2.065zm1.782 13.019H3.555V9.298h3.564v11.154zM22.227 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.456c.98 0 1.773-.773 1.773-1.729V1.729C24 .774 23.207 0 22.227 0z\"/></svg>');
}

.blog-app .footer-social a[href*="instagram"]::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"%235a5a5a\"><path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.07 1.645.07 4.85s-.012 3.584-.07 4.85c-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07s-3.584-.012-4.85-.07c-3.251-.148-4.771-1.691-4.919-4.919-.058-1.265-.07-1.644-.07-4.85s.012-3.583.07-4.85c.149-3.227 1.664-4.771 4.919-4.919 1.266-.058 1.644-.07 4.85-.07zm0-2.163c-3.259 0-3.667.014-4.947.072C3.49 0.22 1.913 1.802 1.765 4.654.707 7.408.695 7.816.695 12s.012 4.592.072 4.947c.148 2.852 1.725 4.434 4.577 4.577 1.28.058 1.688.072 4.947.072s3.668-.014 4.947-.072c2.852-.148 4.433-1.725 4.577-4.577.058-1.28.072-1.688.072-4.947s-.014-3.667-.072-4.947c-.148-2.852-1.725-4.433-4.577-4.577-1.28-.058-1.688-.072-4.947-.072zM12 5.835c-3.428 0-6.205 2.778-6.205 6.205 0 3.428 2.777 6.205 6.205 6.205 3.428 0 6.205-2.777 6.205-6.205 0-3.427-2.777-6.205-6.205-6.205zm0 10.21c-2.209 0-4.006-1.797-4.006-4.005 0-2.208 1.797-4.005 4.006-4.005 2.208 0 4.005 1.797 4.005 4.005 0 2.208-1.797 4.006-4.005 4.006zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.44-.645 1.44-1.44s-.645-1.44-1.44-1.44z\"/></svg>');
}

.blog-app .footer-logo-dark {
    margin-top: 24px;
    width: 80px;
    height: auto;
    display: block;
}

.blog-app .footer-contact p,
.blog-app .footer-contact a,
.blog-app .footer-contact h5 {
    font-size: 14px;
    line-height: 1.6;
    color: #5a5a5a;
    text-decoration: none;
}

.blog-app .footer-contact a:hover,
.blog-app .footer-contact a:focus-visible {
    text-decoration: underline;
}

.blog-app .footer-contact h5 {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    margin: 20px 0 8px;
}

.blog-app .footer-bottom {
    padding: 32px 24px;
}

.blog-app .footer-disclaimer {
    font-size: 12px;
    color: #5a5a5a;
    line-height: 1.65;
    margin: 0 0 1rem;
}

.blog-app .footer-credits {
    text-align: center;
    padding: 20px 24px 36px;
    font-size: 12px;
    color: #5a5a5a;
    letter-spacing: 0.02em;
}

.blog-app .footer-credits [data-footer-timestamp] {
    font-weight: 600;
}

@media (max-width: 1024px) {
    .blog-app .footer-top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 16px;
    }
}

@media (max-width: 640px) {
    .blog-app .site-footer .container {
        padding: 32px 24px;
    }

    .blog-app .footer-top {
        grid-template-columns: 1fr;
    }

    .blog-app .footer-bottom,
    .blog-app .footer-credits {
        padding-left: 0;
        padding-right: 0;
    }
}
*/

/* Responsive Design */
@media (max-width: 768px) {
    .container {
        padding: 0 1rem;
    }
    
    .nav-links {
        position: fixed;
        top: 4rem;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100vw;
        height: calc(100vh - 4rem);
        height: calc(100dvh - 4rem);
        max-width: 100vw;
        background: #ffffff;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        display: flex;
        flex-direction: column;
        gap: 0; /* Remove gap on mobile */
        padding: 0 0 calc(5rem + env(safe-area-inset-bottom)) 0; /* Extra breathing room */
        margin: 0;
        z-index: 9998;
        overflow-y: auto; /* Always show scroll capability */
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain; /* Prevent pull-to-refresh interference */
        /* Simple opacity transition - no transform to prevent CLS */
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.15s ease-in-out, visibility 0s linear 0.15s;
        will-change: opacity;
        /* Prevent any layout shifts */
        contain: layout style paint;
    }
    
    .nav-links.active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: opacity 0.15s ease-in-out, visibility 0s linear 0s;
    }
    
    .nav-links .nav-link,
    .nav-links .nav-cta {
        padding: 0 1.5rem !important;
        width: 100%;
        max-width: 100%;
        text-align: left;
        border-bottom: 1px solid #f1f5f9;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-height: 48px !important;
        height: 48px !important;
        line-height: 1 !important;
        box-sizing: border-box !important;
        flex-shrink: 0;
        white-space: nowrap;
        overflow: visible;
        vertical-align: middle !important;
        margin: 0 !important;
    }
    
    .nav-links .nav-cta {
        margin: 0.75rem 1rem 1rem 1rem; /* Reduced margins */
        width: calc(100% - 2rem);
        max-width: calc(100% - 2rem);
        text-align: center;
        justify-content: center;
        border-bottom: none;
        background-color: #3b82f6;
        color: #ffffff;
        border-radius: 0.5rem;
        flex-shrink: 0; /* Prevent shrinking */
    }
    
    .nav-dropdown {
        width: 100%;
        max-width: 100%;
        flex-shrink: 0;
    }
    
    .nav-dropdown > .nav-link {
        border-bottom: none;
    }
    
    .nav-dropdown-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        background: #f8fafc;
        padding: 0;
        margin: 0;
        display: block;
        width: 100%;
        max-width: 100%;
    }
    
    .nav-dropdown-link {
        padding: 0 1.5rem 0 2.5rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-height: 44px !important;
        height: 44px !important;
        line-height: 1 !important;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box !important;
        flex-shrink: 0;
        white-space: nowrap;
        overflow: visible;
        vertical-align: middle !important;
        margin: 0 !important;
    }
    
    /* Prevent body scroll when mobile menu is open */
    body.mobile-menu-open {
        overflow: hidden !important;
        position: fixed !important;
        width: 100% !important;
        height: 100% !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
    }
    
    html.mobile-menu-open {
        overflow: hidden !important;
        position: fixed !important;
        width: 100% !important;
        height: 100% !important;
    }
    
    .mobile-menu-button {
        display: block;
    }
    
    .hero {
        padding: 6rem 0 4rem;
    }
    
    .hero-title {
        font-size: 2.5rem;
    }

    /* Mobile Touch Targets - Minimum 48x48px */
    .btn {
        min-height: 48px;
        padding: 1rem 1.875rem;
    }

    .nav-link, .nav-cta {
        min-height: 48px;
        display: inline-flex;
        align-items: center;
    }

    /* Prevent horizontal overflow */
    body {
        overflow-x: hidden;
    }

    /* Ensure readable text size */
    body {
        font-size: 16px;
    }

    /* Hero video responsive */
    .hero-video {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

    /* Prevent cards from causing horizontal scroll */
    .tech-category-card,
    .post-card,
    .integration-card {
        max-width: 100%;
    }

    /* Process section responsive - stack on mobile */
    .process-grid {
        grid-template-columns: 1fr !important;
        gap: 2.5rem !important;
    }

    .process-section .section-title {
        font-size: 1.875rem !important;
    }

    .process-section .section-description {
        font-size: 1rem !important;
    }

    /* Blog responsive styles */
    .blog-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .blog-controls {
      justify-content: center;
      margin-bottom: 1.5rem;
    }
    
    .sort-controls {
      flex-direction: column;
      gap: 0.5rem;
      text-align: center;
    }
    
    .sort-select {
      min-width: 100%;
      width: 100%;
      font-size: 16px; /* Prevents zoom on iOS when focused */
      /* Ensure native dropdown on mobile */
      -webkit-appearance: menulist !important;
      -moz-appearance: menulist !important;
      appearance: menulist !important;
    }
    
    /* Ensure all selects use native dropdown on mobile */
    select {
      -webkit-appearance: menulist !important;
      -moz-appearance: menulist !important;
      appearance: menulist !important;
      font-size: 16px; /* Prevents zoom on iOS */
      min-height: 44px; /* Minimum touch target */
    }
    
    .post-article .post-body {
        max-width: 100%;
        padding: 0 1rem;
    }
    
    .post-article .post-image {
        margin: 1.5rem -1rem;
    }
    
    .post-article .post-image img {
        border-radius: 0;
    }
    
    .hero-actions {
        flex-direction: column;
        align-items: center;
    }
    
    .hero-stats {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .hero-indicators {
        margin-top: 2rem;
    }
    
    .indicator {
        width: 10px;
        height: 10px;
    }
    
    .trust-logos {
        gap: 2rem;
    }
    
    .about-content {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    
    .about-title {
        font-size: 1.875rem;
    }
    
    .tech-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .tech-item {
        flex-direction: column;
        gap: 1.5rem;
        padding: 2rem;
    }
    
    .tech-icon {
        align-self: flex-start;
    }
    
    .expertise-title {
        font-size: 1.875rem;
    }
    
    .portfolio-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .portfolio-content {
        padding: 1.5rem;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .cta-form {
        flex-direction: column;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .footer-bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
    
    .footer-bottom-links {
        justify-content: center;
        flex-wrap: wrap;
        gap: 1rem;
    }
    
    .footer-separator {
        display: none;
    }
    
    .seo-tools-sticker {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .hero {
        padding: 6rem 0 4rem;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .section-title {
        font-size: 1.875rem;
    }
    
    .stats-grid {
        grid-template-columns: 1fr;
    }
}

.featured-posts { padding: 3rem 0; background: #f9fafb; }
.featured-header { display:flex; flex-direction:column; gap:0.5rem; margin-bottom:2rem; }
.featured-header h2 { font-size:1.5rem; font-weight:700; color:#0f172a; }
.featured-header p { color:#64748b; max-width:600px; }
.featured-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap:1.5rem; }
.featured-card { background:#fff; border:1px solid #e2e8f0; border-radius:16px; overflow:hidden; box-shadow:0 1px 3px rgba(15,23,42,0.08); display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease; }
.featured-card:hover { transform:translateY(-3px); box-shadow:0 12px 24px rgba(15,23,42,0.12); }
.featured-media img { width:100%; height:180px; object-fit:cover; }
.featured-content { padding:1.25rem; display:flex; flex-direction:column; gap:0.75rem; }
.featured-content h3 { margin:0; font-size:1.1rem; font-weight:600; color:#0f172a; }
.featured-content p { margin:0; color:#475569; }
.featured-category { font-size:0.75rem; text-transform:uppercase; letter-spacing:0.05em; color:#2563eb; font-weight:600; }
.featured-meta { font-size:0.85rem; color:#94a3b8; }
.featured-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:1rem; }
.featured-list li a { display:flex; gap:0.75rem; align-items:center; text-decoration:none; color:#0f172a; font-weight:500; }
.featured-list li img { width:64px; height:64px; object-fit:cover; border-radius:8px; border:1px solid #e2e8f0; }
.featured-list li a:hover { color:#2563eb; }
.tag-cloud { display:flex; flex-wrap:wrap; gap:0.5rem; }
.tag-cloud .tag { display:inline-flex; align-items:center; padding:0.35rem 0.75rem; border-radius:999px; background:#eff6ff; color:#2563eb; font-size:0.85rem; text-decoration:none; transition:background .2s ease; }
.tag-cloud .tag:hover { background:#dbeafe; }
.pagination .page { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; margin:0 0.15rem; padding:0 0.5rem; border-radius:8px; border:1px solid #e2e8f0; color:#1f2937; text-decoration:none; font-weight:500; }
.pagination .page.current { background:#2563eb; color:#fff; border-color:#2563eb; }
.pagination .page:hover { border-color:#2563eb; color:#2563eb; }
@media (max-width:640px) {
  .featured-grid { grid-template-columns:1fr; }
  .featured-list li a { gap:0.5rem; }
}

.blog-hero::after {
   content:'';
   position:absolute;
}

.blog-hero .section-badge {
  color:#ffffff;
  background:rgba(15,23,42,0.72);
}

.btn-outline-primary {
    background: #ffffff;
    color: #1d4ed8;
    border: 1px solid #1d4ed8;
}

.btn-outline-primary:hover {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #1d4ed8;
    transform: translateY(-1px);
}

.btn-outline-success {
    background: #ffffff;
    color: #047857;
    border: 1px solid #047857;
}

.btn-outline-success:hover {
    background: #ecfdf5;
    color: #047857;
    border-color: #047857;
    transform: translateY(-1px);
}

.text-accent-strong { color: #1d4ed8; }
.text-accent-muted { color: #0f172a; }
.text-teal-strong { color: #047857; }
.step-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1d4ed8;
}

.step-indicator {
    color: #1d4ed8;
}

.step-indicator-success {
    color: #047857;
}