/* ==========================================================
   SINGLE POST STANDARD DESIGN
   ========================================================== */

.sl-single-post .sl-shell{
  max-width: var(--sl-shell);
  margin: 0 auto;
  padding: 34px 15px 70px;
}

.sl-single-post .sl-featured-full{
  max-width: var(--sl-shell);
  margin: 26px auto 0;
  padding: 0 15px;
}
.sl-single-post .sl-featured-full img{
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}

.sl-single-post .sl-post-title{
  font-size: 50px;
  font-weight: 500;
  line-height: 1.12;
  margin: 24px 0 18px;
}
@media (min-width: 1025px){
  .sl-single-post .sl-post-title{ font-size: 40px; font-weight: 500; }
}
@media (max-width: 767px){
  .sl-single-post .sl-post-title{
    font-size: 28px;
    font-weight: 600;
    line-height: 1.18;
  }
}

.sl-single-post .sl-divider{
  height: 1px;
  width: 100%;
  background: #0B1220;
  opacity: .15;
  margin: 18px 0;
}
.sl-single-post .sl-meta-pipe,
.sl-single-post .sl-pipe{
  color: #0B1220;
  opacity: .7;
}

.sl-single-post .sl-post-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 14px;
  opacity: .75;
  align-items: center;
}

.sl-single-post .sl-post-meta a,
.sl-single-post .sl-related-meta a{
  color: #000;
  text-decoration: none;
}
.sl-single-post .sl-post-meta a:hover,
.sl-single-post .sl-related-meta a:hover{
  text-decoration: underline;
}

.sl-single-post .sl-post-grid{
  display: grid;
  grid-template-columns: minmax(0, var(--sl-content)) minmax(0, var(--sl-sidebar));
  justify-content: space-between;
  gap: 46px;
  align-items: start;
  margin-top: 10px;
}

.sl-single-post .sl-post-content{
  max-width: var(--sl-content);
  width: 100%;
}

.sl-single-post .sl-post-grid,
.sl-single-post .sl-post-content,
.sl-single-post .sl-post-sidebar{
  min-width: 0;
  max-width: 100%;
}

.sl-single-post .entry-content{
  font-size: 18px;
  line-height: 1.75;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.sl-single-post .entry-content h2{ margin-top: 46px; line-height: 1.25; }
.sl-single-post .entry-content h3{ margin-top: 30px; line-height: 1.25; }
.sl-single-post .entry-content img{
  max-width: 100%;
  height: auto;
  border-radius: 14px;
}

.sl-single-post pre,
.sl-single-post code{ font-size: 16px; }

.sl-single-post pre{
  background: rgba(11,18,32,.06);
  border: 1px solid rgba(11,18,32,.14);
  border-radius: 16px;
  padding: 14px 16px;
  overflow: auto;
}
.sl-single-post code{
  background: rgba(11,18,32,.06);
  border-radius: 8px;
  padding: 2px 6px;
}

.sl-single-post .sl-widget{
  padding: 22px 18px 18px;
  border-radius: 18px;
  background: rgba(0,0,0,.03);
  margin: 0 0 20px;
}
.sl-single-post .sl-post-sidebar .sl-widget:last-child{ margin-bottom: 0; }

.sl-single-post .sl-widget-title{
  font-size: 16px;
  font-weight: 500;
  margin: 0 0 12px;
}

/* Search form */
.sl-single-post .sl-widget form.search-form{ display: flex; gap: 10px; }
.sl-single-post .sl-widget input[type="search"]{
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(11,18,32,.18);
  outline: none;
}
.sl-single-post .sl-widget input[type="search"]:focus{
  border-color: rgba(11,18,32,.45);
  box-shadow: 0 0 0 4px rgba(11,18,32,.08);
}
.sl-single-post .sl-widget input[type="submit"],
.sl-single-post .sl-widget button,
.sl-single-post .sl-widget .search-submit{
  padding: 12px 16px;
  border-radius: 14px;
  border: 0;
  background: #5209E5;
  color: #fff;
  cursor: pointer;
}

/* Categories dropdown */
.sl-single-post .sl-cat-dropdown{ margin: 0; }
.sl-single-post .sl-cat-select{
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(11,18,32,.18);
  background: #fff;
  outline: none;
}
.sl-single-post .sl-cat-select:focus{
  border-color: rgba(11,18,32,.45);
  box-shadow: 0 0 0 4px rgba(11,18,32,.08);
}

.sl-single-post .sl-widget-divider,
.sl-single-post .sl-end-divider{
  height: 1px;
  width: 100%;
  background: #0B1220;
  opacity: .15;
}
.sl-single-post .sl-widget-divider{ margin: 10px 0 14px; }
.sl-single-post .sl-end-divider{ margin: 22px 0; }

/* CTA widget */
.sl-single-post .sl-form-widget{
  background: #0B1220;
  color: #fff;
}
.sl-single-post .sl-form-widget .sl-widget-title,
.sl-single-post .sl-form-widget p{
  color: #fff;
  opacity: .9;
}
.sl-single-post .sl-form-subtext{
  margin: 0 0 14px;
  font-size: 14px;
  opacity: .9;
}
.sl-single-post .sl-form-widget .sl-cta-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 16px;
  border-radius: 999px;
  background: #5209E5;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}
.sl-single-post .sl-form-widget .sl-cta-btn:hover{ opacity: .92; }

.sl-latest-item{
  display: block;
  padding: 12px 0;
  text-decoration: none;
  border-top: 1px solid rgba(11,18,32,.15);
}
.sl-latest-item:first-child{ border-top: 0; padding-top: 0; }
.sl-latest-title{
  font-weight: 600;
  margin-bottom: 6px;
  color: #000;
}
.sl-latest-meta{
  font-size: 13px;
  opacity: .75;
  color: #000;
}

/* Sticky sidebar */
@media (min-width: 768px){
  .sl-single-post .sl-post-sidebar{
    position: sticky;
    top: var(--sl-sticky-top);
    align-self: start;
    height: fit-content;
    z-index: 10;
  }
}

/* ==========================================================
   SHARE ICONS
   ========================================================== */

.sl-share{
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  max-width: 800px;
}
.sl-share-title{ font-weight: 600; }
.sl-share-links{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}
.sl-share-icon{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(11,18,32,.18);
  background: #fff;
  color: #0B1220;
  text-decoration: none;
  padding: 0;
  line-height: 1;
}
.sl-share-icon i{ font-size: 16px; }
.sl-share-icon:hover{
  background: #fff;
  opacity: 1;
  text-decoration: none;
}

/* ==========================================================
   AUTHOR BOX
   ========================================================== */

.sl-author-box{
  display: flex;
  gap: 22px;
  align-items: flex-start;
  padding: 22px;
  border-radius: 22px;
  background: rgba(0,0,0,.03);
  max-width: 800px;
}
.sl-author-avatar{
  width: 160px;
  height: 160px;
  flex: 0 0 160px;
}
.sl-author-avatar img{
  width: 160px;
  height: 160px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.sl-author-name{
  font-weight: 700;
  margin-bottom: 6px;
}
.sl-author-bio{
  opacity: .8;
  margin-bottom: 12px;
  line-height: 1.6;
}
.sl-author-socials{
  display: flex;
  gap: 10px;
}
.sl-social{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: rgba(0,0,0,.06);
  color: #111;
}

@media (max-width: 1024px){
  .sl-author-box{
    max-width: 100%;
    flex-direction: column;
    width: 100%;
    align-items: flex-start;
  }
  .sl-author-avatar{
    width: 100%;
    height: auto;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .sl-author-socials{
    width: 100%;
    justify-content: flex-start;
    margin-top: 10px;
  }
}

/* ==========================================================
   RELATED POSTS + RELATED CASE STUDIES (SAME SYSTEM)
   - Works for:
     .sl-related (posts)
     .sl-related--case-study (case studies)
   ========================================================== */

.sl-related{
  margin-top: 40px;
  width: 100%;
  max-width: 100%;
}

.sl-section-title{
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 18px;
}

.sl-related-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  scroll-behavior: smooth;
  scrollbar-gutter: stable both-edges;
}

.sl-related-card{
  padding: 16px;
  border-radius: 18px;
  background: rgba(0,0,0,.03);
  display: flex;
  flex-direction: column;
  height: 100%;
}

.sl-related-thumb img{
  width: 100%;
  height: auto;
  border-radius: 16px;
  display: block;
  margin-bottom: 12px;
}

/* Meta row */
.sl-related-meta{
  font-size: 13px;
  opacity: .75;
  margin-bottom: 10px;
}

/* Title */
.sl-related-title{
  display: block;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  margin-bottom: 14px;
  color: inherit;
}

/* Button */
.sl-related-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  padding: 6px 10px;
  font-size: 12px;
  background: #5209E5;
  color: #fff;
  text-decoration: none;
  border-radius: 999px;
  font-weight: 600;
  margin-top: auto;
}

/* Keep same on hover */
.sl-related .sl-related-btn:hover,
.sl-related .sl-related-btn:focus,
.sl-related .sl-related-btn:active{
  background: #5209E5 !important;
  color: #ffffff !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* Tablet/mobile slider + dots */
@media (max-width: 1024px){
  .sl-related{ overflow: hidden; }

  .sl-related-grid{
    display: flex !important;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    padding-bottom: 10px;
    padding-right: 10px;
    -webkit-overflow-scrolling: touch;
  }

  .sl-related-card{
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    scroll-snap-align: start;
    padding: 14px;
  }

  .sl-related-thumb img{
    width: 100%;
    height: 190px;
    object-fit: cover;
    border-radius: 16px;
    display: block;
  }

  .sl-related-title{
    font-weight: 600;
    font-size: 16px;
    line-height: 1.25;
    margin-bottom: 12px;
  }

  .sl-related-dots{
    display: flex;
    gap: 6px;
    justify-content: center;
    margin-top: 10px;
  }

  /* Dots (small + consistent). Also keeps button resets from bloating them. */
  .sl-related-dot{
    width: 5px;
    height: 5px;
    padding: 0;
    border-radius: 999px;
    border: 0;
    background: rgba(11,18,32,.18);
    cursor: pointer;
  }
  .sl-related-dot.is-active{
    width: 6px;
    height: 6px;
    background: #5209E5;
  }
}

/* Tablet: show hint of next card */
@media (min-width: 768px) and (max-width: 1024px){
  .sl-related-card{ flex: 0 0 70%; }
}

/* ==========================================================
   STICKY SAFETY (Scoped to templates only)
   - Prevents Elementor overflow/transform from breaking sticky
   ========================================================== */

/* Single post template safety */
.sl-single-post .sl-shell,
.sl-single-post .sl-post-grid{ overflow: visible !important; }

.sl-single-post .e-con,
.sl-single-post .elementor-container,
.sl-single-post .elementor-section{
  overflow: visible !important;
  transform: none !important;
  filter: none !important;
}

/* Service pages sticky safety */
.single-service .e-con,
.single-service .elementor-container,
.single-service .elementor-section{
  overflow: visible !important;
  transform: none !important;
  filter: none !important;
}

/* Case study pages sticky safety */
.sl-single-case-study .e-con,
.sl-single-case-study .elementor-container,
.sl-single-case-study .elementor-section{
  overflow: visible !important;
  transform: none !important;
  filter: none !important;
}

@media (max-width: 1024px){
  .sl-single-post .sl-post-grid{ grid-template-columns: 1fr; }
}

/* ==========================================================
   BLOG INDEX + CATEGORY ARCHIVES (grid, no sidebar)
   ========================================================== */

.sl-category-archive .sl-shell,
.sl-blog-index .sl-shell{
  max-width: var(--sl-shell);
  margin: 0 auto;
  padding: 34px 15px 70px;
}

.sl-archive-head{ margin-bottom: 18px; }

.sl-archive-title{
  font-size: 40px;
  line-height: 1.15;
  margin: 0 0 10px;
}

.sl-archive-desc{
  opacity: .8;
  max-width: 800px;
  line-height: 1.6;
}

.sl-archive-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sl-archive-gap);
  align-items: stretch;
}

.sl-archive-card{
  background: rgba(0,0,0,.03);
  border-radius: var(--sl-card-radius);
  overflow: hidden;
}

.sl-archive-card-link,
.sl-archive-card-inner{
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.sl-archive-thumb img{
  width: 100%;
  height: var(--sl-archive-thumb-h);
  object-fit: cover;
  display: block;
}

.sl-archive-body{
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
}

.sl-archive-meta{
  font-size: 13px;
  opacity: .75;
  display: flex;
  gap: 8px;
  align-items: center;
}

.sl-archive-post-title{
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 700;
}
.sl-archive-post-title a{
  color: inherit;
  text-decoration: none;
}
.sl-archive-post-title a:hover{ text-decoration: underline; }

.sl-archive-excerpt{
  opacity: .9;
  line-height: 1.65;
}

.sl-archive-readmore{
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 7px 12px;
  font-size: 12px;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  background: #5209E5;
  color: #fff;
}
.sl-archive-readmore:hover{
  color: #fff;
  text-decoration: none;
  opacity: .95;
}

.sl-archive-pagination{ margin-top: 26px; }

@media (max-width: 1024px){
  .sl-archive-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .sl-archive-grid{ grid-template-columns: 1fr; }
  .sl-archive-title{ font-size: 30px; }
  .sl-archive-thumb img{ height: 220px; }
}



/* Latest Case Studies on Service pages — 3-up desktop */
@media (min-width: 1025px){
  body.single-service .sl-related-grid--case-study-latest{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
  body.single-service .sl-related-grid--case-study-latest .sl-related-card{
    width: auto !important;
    flex: initial !important;
  }
}

/* ==========================================================
   Services Grid (CPT listing)
   ========================================================== */

.sl-services-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* 2 columns desktop */
  gap: 18px;
  align-items: stretch;
}

.sl-service-card{
  background: rgba(0,0,0,.03);
  border-radius: var(--sl-card-radius, 18px);
  overflow: hidden;
  height: 100%;
}

.sl-service-card-link{
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.sl-service-thumb{
  width: 100%;
}

.sl-service-thumb-img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

.sl-service-thumb-placeholder{
  width: 100%;
  height: 220px;
  background: rgba(0,0,0,.08);
}

.sl-service-body{
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
}

.sl-service-title{
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 700;
}

.sl-service-excerpt{
  margin: 0;
  opacity: .9;
  line-height: 1.65;
}

.sl-service-btn{
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 7px 12px;
  font-size: 12px;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  background: #5209E5;
  color: #fff;
}

.sl-service-btn:hover{
  color: #fff;
  text-decoration: none;
  opacity: .95;
}

/* Responsive */
@media (max-width: 900px){
  .sl-services-grid{ grid-template-columns: 1fr; }
  .sl-service-thumb-img,
  .sl-service-thumb-placeholder{ height: 240px; }
}

/* ==========================================================
   Services Grid → Slider on tablet/mobile (1 card per view)
   Desktop stays grid
   ========================================================== */

.sl-services-grid-wrap{ width: 100%; }

/* Tablet + Mobile slider */
@media (max-width: 1024px){
  .sl-services-grid{
    display: flex !important;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    padding-bottom: 10px;
    padding-right: 10px;
    -webkit-overflow-scrolling: touch;
  }

  .sl-service-card{
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    scroll-snap-align: start;
  }

  .sl-services-dots{
    display: flex;
    gap: 6px;
    justify-content: center;
    margin-top: 10px;
  }
}

/* Tablet: show a peek of next card (optional, matches your related behavior) */
@media (min-width: 768px) and (max-width: 1024px){
  .sl-service-card{ flex: 0 0 70%; }
}

/* ==========================================================
   Case Studies page grid (2 columns desktop)
   ========================================================== */

.sl-case-studies-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.sl-case-study-card{
  background: rgba(0,0,0,.03);
  border-radius: var(--sl-card-radius);
  overflow: hidden;
  height: 100%;
}

.sl-case-study-card-link{
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.sl-case-study-thumb img,
.sl-case-study-thumb-img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

.sl-case-study-thumb-placeholder{
  width: 100%;
  height: 220px;
  background: rgba(11,18,32,.08);
}

.sl-case-study-body{
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
}

.sl-case-study-title{
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 700;
  color: inherit;
}

.sl-case-study-excerpt{
  margin: 0;
  opacity: .9;
  line-height: 1.65;
}

.sl-case-study-btn{
  margin-top: auto;
  display: inline-flex;
  width: fit-content;
  padding: 7px 12px;
  font-size: 12px;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  background: #5209E5;
  color: #fff;
}

@media (max-width: 767px){
  .sl-case-studies-grid{
    grid-template-columns: 1fr;
  }
  .sl-case-study-thumb img,
  .sl-case-study-thumb-img,
  .sl-case-study-thumb-placeholder{
    height: 200px;
  }
}

.sl-pagination--case-studies { margin-top: 28px; }
.sl-pagination--case-studies ul{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
}
.sl-pagination--case-studies a,
.sl-pagination--case-studies span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:12px;
  text-decoration:none;
  border:1px solid rgba(0,0,0,.12);
}
.sl-pagination--case-studies .current{
  font-weight:700;
}

.sl-case-studies-toolbar{
  display:flex;
  justify-content:flex-end;
  margin: 0 0 18px;
}

.sl-case-studies-filter select{
  min-width: 240px;
  padding: 12px 14px;
  border: 1px solid var(--sl-border);
  border-radius: 12px;
  background: #fff;
  font-weight: 600;
}


/* Featured Work (Case Studies Page) — shortcode output only */
.sl-featured-work { margin: 24px 0 10px; }

.sl-featured-work__wrap{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.sl-featured-card{
  display: block;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}

.sl-featured-card__thumb img{
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}

.sl-featured-card__thumb--placeholder{
  height: 260px;
  background: rgba(0,0,0,.04);
}

.sl-featured-card__body{ padding: 16px 18px 18px; }
.sl-featured-card__h{
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 800;
  color: #0B0B0F;
}
.sl-featured-card__cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  font-weight:800;
  color: var(--sl-primary, #6A4DFF);
}
.sl-featured-card__cta{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  color:#fff;
  background: var(--sl-primary, #6A4DFF);
}
.sl-featured-card:hover .sl-featured-card__cta{
  filter: brightness(0.95);
}



/* Mobile: NOT grid → stacked cards */
@media (max-width: 767px){
  .sl-featured-work__wrap{
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .sl-featured-card__thumb img,
  .sl-featured-card__thumb--placeholder{
    height: 220px;
  }
}

/* ==========================================================
   GLOBAL MOBILE/TABLET PORTRAIT PAGE PADDING
   - Adds 10px left/right padding to all page content
   - Does NOT affect header or footer
   ========================================================== */

@media (max-width: 1024px) {
  main#primary {
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* ==========================================================
   TABLET PORTRAIT RESPONSIVE FIX PACK (no container edits)
   Applies only to portrait tablets (roughly iPad portrait)
   ========================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

  /* 1) Prevent horizontal overflow caused by wide children */
  html, body { overflow-x: hidden; }

  /* 2) Give content breathing room without touching header/footer containers */
  main#primary { padding-left: 10px; padding-right: 10px; }

  /* 3) Ensure media never exceeds viewport */
  img, video, iframe, embed, object { max-width: 100%; height: auto; }

  /* 4) Kill common “fixed width” offenders */
  [style*="width:"], 
  .elementor-widget-container, 
  .elementor * {
    max-width: 100%;
  }

  /* 5) Long text / URLs shouldn’t blow layouts */
  h1, h2, h3, h4, h5, h6, p, li, a, span {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* 6) Tables are a usual culprit */
  table { display: block; width: 100%; overflow-x: auto; }

  /* 7) Slightly tighten large headings to avoid wrapping weirdly */
  h1 { font-size: clamp(28px, 3.4vw, 40px); line-height: 1.15; }
  h2 { font-size: clamp(24px, 3.0vw, 34px); line-height: 1.2; }
}


.about-section {
    position: relative;
}

.about-section:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 350px;
    background: #000;
    z-index: -1;
    bottom: 0;
}
#service-box {
    background: #F0F3FF;
    padding: 20px;
    border-radius: 20px;
}
.blog-card {
    border-radius: 15px;
    overflow: hidden;
    margin: 0px 15px;
    box-shadow: 0px 0px 6px 0px #0000000f;
	    padding-bottom: 15px;
}

.blog-card img {
    width: 100%;
}
.our-logo img {
    filter: grayscale(100%);
    opacity: 0.6;
    transition: 0.3s ease;
	 cursor: pointer;
}

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