/* ==========================================================
   CLEAN BUTTON SYSTEM (3 TYPES)
   ========================================================== */

/* Base button */
.btn {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  font-size: .875rem;
  font-weight: 600;
  height: 50px;
  line-height: 1.25rem;
  padding: .25rem .75rem;
  text-align: center;
  text-transform: uppercase;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  transition: color .25s ease, background-color .25s ease, border-color .25s ease;
}

/* Full width helper */
.btn-full {
  width: 100%;
}

/* TYPE 1 “ Primary CTA */
.btn-blue {
  background-color: #009BF5;
  color: #ffffff;
}

.btn-blue:hover {
  background-color: #003476;
  color: #ffffff;
}

/* TYPE 2 “ Secondary (outline) */
.btn-transparent {
  background-color: transparent;
  color: #818181;
}

.btn-transparent:hover {
  background-color: #444444;
  color: #ffffff;
}

/* TYPE 3 “ Dark / Neutral */
.btn-dark {
  background-color: #545454;
  color: #ffffff;
}

.btn--dark:hover {
  background-color: #000000;
  color: #ffffff;
}


/* Flip arrow and give a nice fixed gap between arrow and text */
.js-quote-back {
  padding-left: 0px;          /* lower = moves content left */
  gap: 10px;                    /* space between arrow and text */
}

.js-quote-back svg {
  transform: scaleX(-1);       /* arrow facing left */
}

/* Make text bold if needed */
.js-quote-back .back-text {
  font-weight: 700;
  margin-left: 0;              /* reset any previous negative margin */
}

/* Space between thank-you text and BACK TO FORM button */
.quote-box__success button,
.quote-box__success .btn {
  margin-top: 24px !important;   /* try 20–32px to taste */
}

/* ===========================
   HEADER – CLEAN & STABLE
   =========================== */

/* ---- Z-INDEX SAFETY ---- */
.site-header{
  position: relative;
  z-index: 99999;
}
.site-header__row{
  position: relative;
  z-index: 99999;
}

/* ---- HAMBURGER BUTTON ---- */
.site-header__toggle-menu,
.site-header__toggle-menu[data-v-656927a4]{
  position: relative;
  z-index: 100000;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* hamburger lines */
.site-header__toggle-menu{
  width: 32px;
  height: 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 6px;
}

.site-header__toggle-menu span,
.site-header__toggle-menu span[data-v-656927a4]{
  display: block;
  width: 100%;
  height: 3px;
  background: #111;
  border-radius: 2px;
  opacity: 1;
}

/* ---- NAV VISIBILITY ---- */
@media (max-width: 1023px){
  .site-header__nav{ display: none; }
  .site-header__nav.is-open{
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: min(90vw, 420px);
    background: #fff;
    z-index: 99998;
    overflow-y: auto;
    padding: 80px 18px 18px;
  }
}

@media (min-width: 1024px){
  .site-header__toggle-menu{ display: none; }
}

/* ---- DROPDOWN ---- */
.site-header__dropdown{ display: none; }

.site-header__item.is-open > .site-header__dropdown{
  display: block;
}

@media (min-width: 1024px){
  .site-header__item:hover > .site-header__dropdown{
    display: block;
  }
}

/* ---- MOBILE DROPDOWN ARROW ---- */
.site-header__item-icon-mobile{
  display: none;
}

@media (max-width: 1023px){
  .site-header__item-icon-mobile{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    cursor: pointer;
    user-select: none;
  }

  /* show arrow only if dropdown exists */
  .site-header__item:not(:has(.site-header__dropdown))
  > .site-header__item-icon-mobile{
    display: none;
  }

  /* rotation */
  .site-header__item-icon-mobile svg{
    transition: transform .25s ease;
  }
  .site-header__item.is-open > .site-header__item-icon-mobile svg{
    transform: rotate(180deg);
  }
}

/* ===========================
   HEADER UNDERLINE (ARROW SAFE)
   =========================== */

/* reset any theme underline */
.site-header__menu a{
  text-decoration: none !important;
  border-bottom: none !important;
  background: none !important;
}

/* underline using background (NO display change) */
.site-header__menu a,
.site-header__menu a[data-v-656927a4]{
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 0% 2px;
  background-position: 0 110%;
  transition: background-size .28s ease;
}

/* hover */
.site-header__menu a:hover,
.site-header__menu a[data-v-656927a4]:hover{
  background-size: 100% 2px;
}

/* active */
.site-header__menu a.active,
.site-header__menu a.active[data-v-656927a4]{
  background-size: 100% 2px;
}

/* parent active (Services) */
.site-header__item.active > a,
.site-header__item.active > a[data-v-656927a4]{
  background-size: 100% 2px;
}

@media (max-width: 1023px) {

  /* make sure the whole mobile menu can show dropdowns */
  .site-header__nav { overflow: visible; }

  /* default hidden */
  .site-header__dropdown {
    display: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* show when parent li is open */
  .site-header__item.is-open > .site-header__dropdown {
    display: block !important;
  }
}
.site-header__toggle-menu span {
  display: block;
  height: 2px !important;
  background-color: #1f2937 !important; /* dark gray / visible */
  border-radius: 1px !important;
}

.site-header__toggle-menu span:not(:last-child) {
  margin-bottom: 2px !important;
}

/* ===========================
   HEADER SIZE TRANSITIONS
   =========================== */

header.site-header .site-header__row,
header.site-header .site-header__logo img,
header.site-header .site-header__menu a{
  transition: height 220ms ease, font-size 220ms ease, transform 220ms ease;
}

/* default */
header.site-header .site-header__row{
  display: flex;
  align-items: center;
  height: 76px;
}
header.site-header .site-header__logo img{
  height: 60px;
}
header.site-header .site-header__menu a{
  font-size: 18px;
  line-height: 1.1;
}

/* scrolled */
header.site-header.is-scrolled .site-header__row{
  height: 60px;
}
header.site-header.is-scrolled .site-header__logo img{
  height: 50px;
}


/* ===============================
   TRUSTED ICON SIZE – MOBILE FIX
   =============================== */
@media (max-width: 767px) {

  .trusted__list {
    gap: 16px;
  }

  .trusted__list-item {
    align-items: center;
  }

  /* Icon container */
  .trusted__list-icon {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Actual SVG image */
  .trusted__list-icon img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: 50px !important;
    height: 50px !important;
    object-fit: contain;
  }

  /* Reduce counter size a bit on mobile */
  .trusted__counter {
    font-size: 20px !important;
    line-height: 1.2;
  }

  .trusted__list-txt p {
    font-size: 16px;
    line-height: 1.3;
	font-weight: 200;
  }
}

/* Counter number styling */
[data-v-c8bfafcd] .trusted__counter {
  font-size: 30px;
  font-weight: 600;
  line-height: 1.1;
  font-variant-numeric: lining-nums tabular-nums;
}

@media (max-width: 767px) {
  [data-v-c8bfafcd] .trusted__counter {
    font-size: 28px !important;
    font-weight: 700 !important;
  }
}


@media (min-width: 768px) and (max-width: 1023px) {
  .trusted__list-icon {
    width: 56px;
    height: 56px;
  }
  .trusted__list-icon img {
    width: 36px;
    height: 36px;
  }
}

/* =========================================================
   TESTIMONIALS – FINAL MOBILE (match original width + always-visible bar)
   Paste at END of main.css
   ========================================================= */

/* Hide custom bar on desktop */
@media (min-width: 641px) {
  .testimonials__scrollbar {
    display: none !important;
  }
}

/* Mobile */
@media (max-width: 640px) {

  /* Remove the 260px clamp from original template */
  .testimonials__slider[data-v-215026d2],
  .testimonials__slider {
    max-width: none !important;
    width: 100% !important;
    overflow: visible !important;
    margin-bottom: 0 !important;
  }

  /* Horizontal scroller */
  .testimonials__grid[data-v-215026d2],
  .testimonials__grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;

    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;

    /* IMPORTANT: same side padding as original so next card peeks */
    padding: 0 16px !important;

    margin: 0 !important;
    transform: none !important;

    scroll-snap-type: x mandatory !important;
    justify-content: flex-start !important;
  }

  /* ? MATCH ORIGINAL CARD WIDTH (1.75 cards feel) */
  .testimonials__grid[data-v-215026d2] > .testimonial-card,
  .testimonials__grid > .testimonial-card,
  .testimonials__grid .testimonial-card[data-v-215026d2],
  .testimonials__grid .testimonial-card {
    flex: 0 0 60% !important;     /* <-- key: like original */
    width: 60% !important;
    min-width: 60% !important;
    max-width: 60% !important;

    flex-shrink: 0 !important;
    box-sizing: border-box !important;

    scroll-snap-align: start !important;

    /* keep cards white */
    background: #ffffff !important;
  }

  /* Always show the custom scrollbar on mobile */
  .testimonials__scrollbar[data-v-215026d2],
  .testimonials__scrollbar {
    display: block !important;
    width: calc(100% - 32px) !important; /* align with 16px padding */
    margin: 26px auto 0 !important;      /* more gap under cards */
  }

  .testimonials__scrollbar .scrollbar {
    height: 2px !important;              /* thinner like original */
    background: #CDCDCD !important;      /* track light grey */
    border-radius: 999px !important;
    position: relative !important;
    overflow: hidden !important;
    opacity: 1 !important;
  }

  /* The moving thumb */
  .testimonials__scrollbar .scrollbar .tk-scroll-thumb {
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    height: 100% !important;
    width: 28% !important;               /* thumb size similar to original */
    background: #000000 !important;      /* thumb slightly darker than track */
    border-radius: 999px !important;
    transform: translateX(0px);
    will-change: transform;
    opacity: 1 !important;
  }

  /* text wrap safety */
  .testimonial-card__text {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
}

/* =========================================================
   EQUIPMENT WE HANDLE – FINAL CSS (clean, no duplicates)
   Paste at END of main.css
   ========================================================= */

/* ---------------------------
   Desktop defaults
   --------------------------- */
.our-trucks__slider {
  flex: 0 0 900px !important;
  max-width: 900px !important;
}

.our-trucks__slider-controls {
  width: 580px !important;
  max-width: 580px !important;
  margin-left: auto !important;
}

/* Custom scrollbar (the only scrollbar shown) */
.our-trucks__slider-controls .scrollbar {
  height: 2px;
  background: #e5e7eb;
  position: relative;
  overflow: hidden;
}

.our-trucks__slider-controls .scrollbar__inner {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 20% !important;              /* keep <100% so it can move */
  background: #4b5563;                /* moving indicator */
  transform: translateX(0);
  transition: transform .15s linear;
  will-change: transform;
}

/* Hide native scrollbar but keep swipe scrolling */
.our-trucks__slider-box {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.our-trucks__slider-box::-webkit-scrollbar {
  display: none;
  height: 0;
}

.our-trucks__item-more {
  display: inline-flex;
  align-items: center;
  gap: 10px; /* adjust spacing as needed */
}

.our-trucks__item-more svg {
  transition: transform 0.3s ease;
}

.our-trucks__item-more:hover svg {
  transform: translateX(6px); /* increase if you want more movement */
}

/* ---------------------------
   Mobile / Tablet layout
   --------------------------- */
@media (max-width: 1023px) {

  /* Stack columns */
  .our-trucks__row {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 24px !important;
  }

  /* Remove fixed desktop widths */
  .our-trucks__slider {
    flex: 0 0 auto !important;
    max-width: none !important;
    width: 100% !important;
  }

  .our-trucks__slider-fix,
  .our-trucks__slider-box {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Swipe track */
  .our-trucks__slider-box {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;

    /* keep card shadow visible */
    padding: 0 16px 12px !important;
    margin: 0 !important;
  }

  /* Cards ~1.75 visible */
  .our-trucks__slider-box .truck-card {
    flex: 0 0 78% !important;
    max-width: 78% !important;
    scroll-snap-align: start !important;
  }

  /* Controls align with track padding */
  .our-trucks__slider-controls {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin: 16px 16px 0 !important;
  }
}

/* Smaller phones: slightly wider cards */
@media (max-width: 640px) {
  .our-trucks__slider-box > .truck-card {
    flex: 0 0 82% !important;
    max-width: 82% !important;
  }
}


/* ---------------------------
   ONE button on mobile (below cards)
   --------------------------- */

/* Desktop/tablet: show desktop button, hide mobile button */
@media (min-width: 1024px) {
  .our-trucks__btn-mobile,
  .our-trucks .btn-mobile {
    display: none !important;
  }

  .our-trucks__btn-desktop {
    display: inline-flex !important;
  }
}

/* Mobile: hide top button, show only bottom button styled like transparent */
@media (max-width: 640px) {

  /* Hide the top button inside the text column */
  .our-trucks__txt > a.btn {
    display: none !important;
  }

  /* Show bottom mobile button */
  .our-trucks__btn-mobile,
  .our-trucks .btn-mobile {
    display: flex !important;
    justify-content: center;
    align-items: center;
    margin-top: 18px;
    text-transform: uppercase;
  }

  /* Make mobile button match desktop transparent style */
  .our-trucks .btn-mobile.btn-outline {
    background: transparent !important;
    color: #4f4f4f !important;
    border: 1px solid #A3A3A3 !important;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease !important;
  }

  .our-trucks .btn-mobile.btn-outline svg {
    color: currentColor !important;
  }

  /* Hover / active like transparent buttons */
  .our-trucks .btn-mobile.btn-outline:hover {
    background: #000000 !important;
    color: #FFFFFF !important;
    border-color: #000000 !important;
  }

  .our-trucks .btn-mobile.btn-outline:active {
    background: #000000 !important;
    color: #FFFFFF !important;
    border-color: #000000 !important;
  }
}

/* =========================
   CARD CONTENT FINAL POLISH
   ========================= */

/* Inner padding for text area */
.truck-card__body{
  padding: 28px 26px 40px;   /* top | left-right | bottom */
}

/* Card heading: bold & clearly larger than body text */
.truck-card__title{
  margin: 0 0 14px;
  font-size: 22px;          /* larger than text */
  font-weight: 800;         /* bold */
  line-height: 1.25;
  letter-spacing: 0.04em;
  color: #111827;
}

/* Card paragraph text */
.truck-card__text{
  margin: 0;
  font-size: 16px;
  line-height: 1.75;
  color: #4b5563;
}

/* =========================
   FOOTER ACCORDION + UNDERLINE (FINAL)
   ========================= */

/* -------- Desktop: footer always open -------- */
@media (min-width: 769px){
  .site-footer__nav ul,
  .site-footer__nav ul[data-v-47858411]{
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    display: block !important;
  }

  .site-footer__nav h3{
    cursor: default !important;
  }
}

/* -------- Mobile: accordion behavior -------- */
@media (max-width: 768px){

  /* clickable section header */
  .site-footer__nav h3{
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    user-select: none !important;
  }

  /* collapsed state */
  .site-footer__nav ul,
  .site-footer__nav ul[data-v-47858411]{
    height: auto !important;              /* neutralize Tailwind height:0 */
    display: block !important;
    overflow: hidden !important;
    max-height: 0 !important;
    opacity: 0 !important;
    margin-top: 10px !important;
    transition: max-height .35s ease, opacity .25s ease !important;
  }

  /* open state */
  .site-footer__nav.is-open ul,
  .site-footer__nav.is-open ul[data-v-47858411]{
    max-height: 1200px !important;         /* safe large value */
    opacity: 1 !important;
  }

  /* arrow rotation */
  .site-footer__nav h3 svg{
    transition: transform .25s ease !important;
  }

  .site-footer__nav.is-open h3 svg{
    transform: rotate(180deg) !important;
  }
}

/* =========================
   FOOTER LINK UNDERLINE (SINGLE SYSTEM)
   ========================= */

/* Base reset */
.site-footer__nav a,
.site-footer__nav a[data-v-47858411]{
  text-decoration: none !important;
  border-bottom: none !important;
  background: none !important;
  box-shadow: none !important;
  display: inline-block;
}

/* Hover underline */
.site-footer__nav a:hover,
.site-footer__nav a[data-v-47858411]:hover{
  box-shadow: inset 0 -2px 0 0 currentColor !important;
}

/* Active underline */
.site-footer__nav a.active,
.site-footer__nav a.active[data-v-47858411]{
  box-shadow: inset 0 -2px 0 0 currentColor !important;
}

/* =========================================================
   SERVICES / SERVICE CARDS
   ========================================================= */
.services[data-v-59422848]{ color:#252525; }
.services--gray[data-v-59422848]{ background:#efeff1; }

.services__row[data-v-59422848]{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
}
@media (min-width:768px){
  .services__row[data-v-59422848]{ 
	  flex-direction:row; 
	  gap:1.25rem; }
}

/* list (the small tiles list) */
.services__list[data-v-59422848]{ 
	display:flex; gap:1rem; 
}

@media (min-width:768px){
  .services__list[data-v-59422848]{ 
	  display:grid; 
	  grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width:1024px){
  .services__list[data-v-59422848]{ max-width:536px; }
}

@media screen and (max-width:767px){
  .services__list[data-v-59422848]{
    flex-wrap:inherit;
    overflow-x:auto;
    scroll-behavior:smooth;
    scroll-padding-left:20px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    -ms-overflow-style:none;
    margin:0 -20px;
    padding:0 20px;
    scrollbar-width:none;
  }
  .services__list[data-v-59422848]::-webkit-scrollbar{ display:none; height:.4rem; width:.4rem; }
}

.services__list-item[data-v-59422848]{
  display:flex;
  align-items:flex-end;
  height:220px;
  padding:1.5rem;
  position:relative;
}
@media (min-width:768px){
  .services__list-item[data-v-59422848]{ 
	  flex-shrink:1; 
	  width:auto; 
	}
}
@media screen and (max-width:767px){
  .services__list-item[data-v-59422848]{ 
	  flex-shrink:0; 
	  flex:0 0 90%; 
	  scroll-snap-align:start; 
	}
}

.services__list-img[data-v-59422848]{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:10px;
  background:#000;
}

.services__list-img img[data-v-59422848]{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.6;
  transition:transform .4s;
}

.services__list h2[data-v-59422848]{
  position:relative;
  font-size:.875rem;
  line-height:1.25rem;
  text-transform:uppercase;
  color:#fff;
  transition:color .4s;
}

.services__list h2 svg[data-v-59422848]{
  display:inline-block;
  margin-left:4px;
  transform:translate3d(0,-1px,0);
  transition:transform .4s;
}

@media (hover:hover){
  .services__list-item:hover img[data-v-59422848]{ 
	  transform:scale(1.1); 
	}
	
  .services__list-item:hover h2[data-v-59422848]{ 
	  color:#ff7714; 
	}
	
  .services__list-item:hover h2 svg[data-v-59422848]{ 
	  transform:translate3d(5px,-1px,0); 
	}
}

/* big service cards */
.service[data-v-59422848]{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border-radius:10px;
  box-shadow:2px 2px 14px 0 rgba(79,78,93,.12);
}
@media (min-width:768px){
  .service[data-v-59422848]{ 
	  flex-direction:row; 
	}
}
.service[data-v-59422848]:not(:last-child){ 
	margin-bottom:2rem; 
}

.service__img[data-v-59422848]{ 
	flex-shrink:0; 
	overflow:hidden; 
}
@media (min-width:768px){
  .service__img[data-v-59422848]{
	  width:40%; 
	}
}
@media (min-width:1024px){
  .service__img[data-v-59422848]{ 
	  width:442px; 
	}
}
.service__img img[data-v-59422848]{
  width:100%;
  height:100%;
  min-height:204px;
  object-fit:cover;
  transition:transform .4s;
}
@media (min-width:768px){
  .service__img img[data-v-59422848]{ 
	  min-height:270px; 
	}
}

.service__content[data-v-59422848]{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:1.25rem;
  color:#252525;
}

@media (min-width:768px){
  .service__content[data-v-59422848]{ 
	  padding:2rem; 
	}
}

.service__txt[data-v-59422848]{
  flex:1 1 0%;
  margin-bottom:auto;
  padding-bottom:1rem;
}
.service__txt h2[data-v-59422848]{
  font-size:23px;
  font-weight:600;
  line-height:1.75rem;
  margin-bottom:1rem;
  text-transform:uppercase;
}

.service__txt p[data-v-59422848]{ 
	font-size:1rem; 
	line-height:1.5rem; }

.service__more[data-v-59422848]{
  display:flex;
  align-items:center;
  font-size:.875rem;
  font-weight:600;
  line-height:1.25rem;
  text-transform:uppercase;
  transition:color .3s;
}

.service__more svg[data-v-59422848]{
  margin-left:.75rem;
  transition:transform .3s;
}
@media (hover:hover){
  .service[data-v-59422848]:hover img[data-v-59422848]{ 
	  transform:scale(1.1); 
	}
  .service[data-v-59422848]:hover 
  .service__more[data-v-59422848]{ 
	  color:#0064FF; 
	}
  .service[data-v-59422848]:hover 
  .service__more svg[data-v-59422848]{ 
	  transform:translate3d(5px,0,0); 
	}
}

/* =========================================================
   OUR SERVICES
   ========================================================= */
.our-services__title{ 
	margin-bottom:1.5rem; 
}

.our-services__title p{
  color:#7d7878;
  font-size:1.125rem;
  line-height:1.75rem;
}

@media (min-width:768px){
  .our-services__title{ 
	  margin-bottom:80px; 
	  text-align:center; 
	}
  .our-services__title h2{ 
	  margin-bottom:.5rem;
	}
}

@media (min-width:1024px){
  .our-services__row{ 
	  display:flex; 
	}
	
  .our-services__row--reverse{ 
	  flex-direction:row-reverse;
	}
  .our-services__row--reverse .our-services__img{ 
	  margin-left:53px; 
	  margin-right:0; 
	}
}

.our-services__img{
  flex-shrink:0;
  margin-bottom:1.75rem;
}

@media (min-width:1024px){
  .our-services__img{
    width:444px;
    margin-bottom:0;
    margin-right:53px;
  }
}
.our-services__img img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  border-radius:10px;
}

.our-services__list{
  display:flex;
  flex-direction:column;
  gap:2rem;
  margin-bottom:2rem;
  text-align:left;
}

@media (min-width:768px){
  .our-services__list--alternative{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:60px;
  }
}

.our-services__row--between 
.our-services__content 
.our-services__list{
  height:100%;
  justify-content:space-between;
  margin-bottom:0;
}

@media (min-width:1024px){
  .our-services__row--between 
	.our-services__content 
	.our-services__list p{
    font-size:1.125rem;
    line-height:1.75rem;
  }
}

.bottom-desc p{ 
	margin-bottom:40px; 
}

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

/* =========================================================
   CTA BOX
   ========================================================= */
.cta-box{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.cta-box .wrap{ 
	position:relative; 
}

.cta-box__row{
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:56px 0;
  color:#fff;
}

@media (min-width:768px){
  .cta-box__row{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
    padding:72px 0;
  }
}

.cta-box__row h3{
  font-size:23px;
  font-weight:600;
  line-height:1.75rem;
  text-transform:uppercase;
  margin:0;
}

.cta-box__txt p{
  margin:0;
  font-size:1rem;
  line-height:1.5rem;
  opacity:.9;
}

/* =========================================================
   CONTACT PAGE (FINAL, CLEANED)
   ========================================================= */
.contact{ 
	color:#252525; 
}

.contact svg{ 
	transition:color .2s ease, fill .2s ease, stroke .2s ease; 
}

.contact a,
.contact a:visited{
  color:inherit;
  text-decoration:none;
}

/* Titles */
.contact__title{
  margin-bottom:1.25rem;
  font-size:1.125rem;
  font-weight:600;
  line-height:1.75rem;
  text-transform:uppercase;
}
@media (min-width:768px){
  .contact__title{ 
	  font-size:23px; 
	}
}

/* Layout */
.contact__row{
  display:flex;
  flex-direction:column;
  gap:3.5rem;
  justify-content:space-between;
  margin-bottom:3.5rem;
}
@media (min-width:768px){
  .contact__row{ margin-bottom:88px; }
}
@media (min-width:1024px){
  .contact__row{ 
	  flex-direction:row; 
	  gap:1rem; 
	}
	
  .contact__info{ 
	  width:386px; 
	}
	
  .contact__form{ 
	  max-width:536px; 
	  width:100%; 
	}
}

/* Contact list */
.contact__list{ 
	margin-bottom:50px; 
}

@media (min-width:768px){
  .contact__list{ 
	  margin-bottom:60px; 
	}
}
.contact__list li{ 
	margin-bottom:2rem; 
}

@media (min-width:768px){
  .contact__list li{
    font-size:1.125rem;
    line-height:1.75rem;
    margin-bottom:1.25rem;
  }
}
.contact__list a{
  display:inline-flex;
  align-items:center;
  color:#252525 !important;
}
.contact__list a span{
  display:flex;
  flex-shrink:0;
  width:35px;
}
.contact__list a span svg{
  color:#252525;
  transition:color .2s ease;
}

/* Hover: only the icon becomes blue */
@media (hover:hover){
  .contact__list a:hover span svg{ 
	  color:#1E87F7; 
	}
}

/* Social icons — bigger + icon only turns blue */
.contact__social{
  display:flex;
  gap:14px;
  margin-top:6px;
}
.contact__social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px;          /* small hit-area, no box */
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.contact__social a svg{
  width:28px;           /* INCREASED SIZE */
  height:28px;          /* INCREASED SIZE */
  color:#252525;
  fill:currentColor;
  stroke:currentColor;
}
@media (hover:hover){
  .contact__social a:hover svg{
    color:#1E87F7;
    fill:currentColor;
    stroke:currentColor;
  }
}

/* Form (no grey background) */
.contact__form{ 
	background:transparent !important; 
	flex:1 1 0%; 
}

.contact__form-group{ 
	margin-bottom:1rem; 
}

/* ===========================
   Floating labels (wizard step 2)
   Border-line fitted version
   =========================== */

.quote-wizard .quote-box--step2 .floating-label {
  position: relative;
}

/* Inputs / textarea need top padding so typed text doesn't collide with label */
.quote-wizard .quote-box--step2 .floating-label input,
.quote-wizard .quote-box--step2 .floating-label textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 22px 16px 12px; /* space for floating label */
}

/* Textarea height */
.quote-wizard .quote-box--step2 .floating-label textarea {
  min-height: 110px;
  resize: vertical;
}

/* Label INSIDE field (centered) by default */
.quote-wizard .quote-box--step2 .floating-label label {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  transition: all 0.16s ease;
  opacity: 0.70;
  font-size: 14px;
  line-height: 1;
  background: transparent;
  padding: 0;
}

/* Textarea label starts slightly higher */
.quote-wizard .quote-box--step2 .floating-label textarea + label {
  top: 26px;
  transform: translateY(0);
}

/* FLOAT STATE — focused OR has value */
.quote-wizard .quote-box--step2 .floating-label input:focus + label,
.quote-wizard .quote-box--step2 .floating-label input:not(:placeholder-shown) + label,
.quote-wizard .quote-box--step2 .floating-label textarea:focus + label,
.quote-wizard .quote-box--step2 .floating-label textarea:not(:placeholder-shown) + label {
  top: 0;                         /* sit on top border line */
  transform: translateY(-50%);
  font-size: 12px;
  opacity: 1;

  /* This makes it "cut into" the rectangle border */
  background: #fff;               /* MUST match form background */
  padding: 0 8px;
  margin-left: -8px;
}




/* ================================
   Focus states – contact form + quote wizard
   ================================ */

/* Input / textarea focus border */
.quote-wizard .quote-box--step2 .floating-label input:focus,
.quote-wizard .quote-box--step2 .floating-label textarea:focus,
.contact__form .floating-label input:focus,
.contact__form .floating-label textarea:focus {
  border-color: #0090FF;
  box-shadow: 0 0 0 1px rgba(0, 144, 255, 0.20);
  outline: none;
}

/* Label color when focused or has value */
.quote-wizard .quote-box--step2 .floating-label input:focus + label,
.quote-wizard .quote-box--step2 .floating-label textarea:focus + label,
.quote-wizard .quote-box--step2 .floating-label input:not(:placeholder-shown) + label,
.quote-wizard .quote-box--step2 .floating-label textarea:not(:placeholder-shown) + label,
.contact__form .floating-label input:focus + label,
.contact__form .floating-label textarea:focus + label,
.contact__form .floating-label input:not(:placeholder-shown) + label,
.contact__form .floating-label textarea:not(:placeholder-shown) + label {
  color: #0090FF;
}

/* Contact button pressed/hover look while sending */
.contact__form .js-contact-submit.is-loading,
.contact__form .js-contact-submit.is-loading:hover,
.contact__form .js-contact-submit.is-loading:active {
  background-color: #003476 !important;  /* hover/brand */
  color: #ffffff !important;
  cursor: progress !important;
  pointer-events: none;
  opacity: 0.98;
  transform: translateY(1px);
  filter: brightness(0.95);
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.25);
}

/* ===== FORCE spacing between contact form fields ===== */

.contact__form form {
  display: flex;
  flex-direction: column;
  gap: 22px; /* <-- this is the key */
}

/* Ensure groups don't collapse */
.contact__form-group {
  margin: 0 !important;
  padding: 0 !important;
}

/* Keep checkbox separated */
.contact__agree {
  margin-top: 6px;
  margin-bottom: 22px;
}

/* ===== POPUP MODAL (TryKing - final polish) ===== */

.popup {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
  pointer-events: none;
}

.popup.is-open {
  display: block;
  pointer-events: auto;
}

/* Dark overlay */
.popup__bg {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  pointer-events: auto;
}

/* Center modal */
.popup__item {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);

  z-index: 1;
  width: min(520px, calc(100% - 40px));
  background: #fff;
  border-radius: 10px;
  padding: 42px 46px 34px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);

  text-align: center;
  pointer-events: auto;
}

/* Close (X) */
.popup__item > .popup__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #111;
  text-decoration: none;
}

.popup__item > .popup__close:hover {
  background: rgba(0,0,0,0.06);
}

/* Blue tick circle */
.popup__icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 40px;
  border-radius: 999px;
  border: 2px solid #0090FF;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0090FF;
  font-size: 28px;
  font-weight: 700;
}

/* Text */
.popup__item h2 {
  margin: 0 0 14px;
  font-size: 34px;
  line-height: 1.5;
  font-weight: 600;
}

.popup__item p {
  margin: 0 0 30px;
  color: #666;
  font-size: 16px;
}

/* Button */
.popup__item .btn.btn-blue {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 18px;
  border-radius: 6px;
}

/* Ensure bottom button not positioned absolutely */
.popup__item .btn.btn-blue.popup__close {
  position: static;
}

/* Responsive */
@media (max-width: 520px) {
  .popup__item {
    padding: 28px 22px 22px;
  }

  .popup__item h2 {
    font-size: 30px;
  }
}

/* ===== Contact form spacing ===== */
.contact__form-group {
  margin-bottom: 22px;
}

.contact__agree {
  margin-top: 6px;
  margin-bottom: 20px;
}


/* ================================
   Contact form button – loading / pressed
   ================================ */

.contact__form .js-contact-submit.is-loading,
.contact__form .js-contact-submit.is-loading:hover,
.contact__form .js-contact-submit.is-loading:active {
  background-color: #3a3a3a !important;
  color: #ffffff !important;
  cursor: progress !important;
  pointer-events: none;
  opacity: 0.95;
  transform: translateY(1px);
  filter: brightness(0.92);
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.25);
}

/* Prevent hover jump while loading */
.contact__form .js-contact-submit.is-loading svg {
  transform: none;
}

/* =====================================
   SEND button – loading / pressed (FINAL)
   ===================================== */

.quote-wizard
.quote-box--step2
.quote-box__buttons
.btn.js-quote-submit.is-loading,
.quote-wizard
.quote-box--step2
.quote-box__buttons
.btn.js-quote-submit.is-loading:hover,
.quote-wizard
.quote-box--step2
.quote-box__buttons
.btn.js-quote-submit.is-loading:active,
.quote-wizard
.quote-box--step2
.quote-box__buttons
.btn.js-quote-submit.is-loading span {
  background-color: #3a3a3a !important; /* loading color */
  color: #FFFFFF !important;
  cursor: progress !important;
  pointer-events: none;
  opacity: 0.95;
  transform: translateY(1px);
  filter: brightness(0.92);
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.25);
}

/* Instant click feedback (non-loading) */
.quote-wizard .js-quote-submit:active {
  filter: brightness(0.92);
  transform: translateY(1px);
}

/* Step-2: normalize both buttons */
.quote-wizard .quote-box--step2 .quote-box__buttons .btn {
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.04em;
}

/* Step-2: align GO BACK icon + text neatly */
.quote-wizard .quote-box--step2 .quote-box__buttons .js-quote-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

/* Make sure GO BACK text does NOT override font */
.quote-wizard .quote-box--step2 .quote-box__buttons .js-quote-back .back-text {
  font: inherit;
  line-height: inherit;
}


/* Agreement checkbox */
.contact__agree{ 
	margin:1rem 0 1.25rem; 
}

.contact__agree input{ 
	display:none; 
}

.contact__agree label{
  cursor:pointer;
  display:inline-block;
  font-size:1rem;
  line-height:1.5rem;
  padding-left:2rem;
  position:relative;
  color:#252525;
}

.contact__agree label::before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  width:1.25rem;
  height:1.25rem;
  border-radius:.25rem;
  border:1px solid #252525;
}

.contact__agree label::after{
  content:"";
  position:absolute;
  left:6px;
  top:5px;
  width:.5rem;
  height:.75rem;
  border-width:0 2px 2px 0;
  border-style:solid;
  border-color:#0051A8;
  transform:rotate(45deg);
  opacity:0;
  transition:opacity .2s;
}

.contact__agree input:checked + label::after{ 
	opacity:1; 
}

/* Map */
.contact__map{
  border-radius:10px;
  overflow:hidden;
}

.contact__map iframe{
  width:100%;
  height:320px;
  border:0;
  display:block;
}

/* =========================================================
   CTA BOX — STACK CONTENT VERTICALLY
   ========================================================= */

.cta-box__row {
  display: flex;
  flex-direction: column;   /* STACK: heading ? text ? button */
  align-items: flex-start;  /* left aligned like original design */
  gap: 16px;                /* space between items */
}

/* Optional: center on desktop if you want */
@media (min-width: 768px) {
  .cta-box__row {
    max-width: 640px;
  }
}

/* ==========================================
   Sticky/Fixed Header: Shrink on Scroll
   (uses .is-scrolled class from your JS)
========================================== */

/* Keep header fixed on top */
header.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 999999 !important;
  background: #fff !important;
}

/* Push page down so content doesn't hide under fixed header */
body {
  padding-top: 76px; /* MUST match default header row height */
}


/* =========================
   Blog top (single post)
   ========================= */

.blog-top__row {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  line-height: 1rem;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(135 132 130 / var(--tw-text-opacity));
}

.blog-top__date-tag {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 0%;
}

@media (min-width: 768px) {
  .blog-top__date-tag {
    flex: none;
  }
}

.blog-top__separator {
  display: none;
  flex-shrink: 0;
  width: 0.25rem;
  height: 0.25rem;
  margin: 0.5rem;
  border-radius: 9999px;
  background-color: #7d7878;
}

@media (min-width: 768px) {
  .blog-top__separator {
    display: flex;
  }
}

.blog-top__tags {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.blog-top__tags span {
  border-radius: 20px;
  padding: 0.5rem 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.blog-top__time {
  display: none;
  align-items: center;
  text-transform: lowercase;
}

@media (min-width: 768px) {
  .blog-top__time {
    display: flex;
  }
}

.blog-top__time svg {
  margin-right: 8px;
}

/* =========================
   Blog post content
   ========================= */

.blog-post {
  padding-top: 3.5rem;
  --tw-text-opacity: 1;
  color: rgb(55 54 53 / var(--tw-text-opacity));
}

@media (min-width: 1024px) {
  .blog-post {
    padding-top: 60px;
  }
}

.blog-post__img {
  margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
  .blog-post__img {
    margin-bottom: 1.5rem;
  }
}

.blog-post__short,
.blog-post__txt {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.blog-post__short h2,
.blog-post__short h3,
.blog-post__short h4,
.blog-post__short h5,
.blog-post__short h6,
.blog-post__txt h2,
.blog-post__txt h3,
.blog-post__txt h4,
.blog-post__txt h5,
.blog-post__txt h6 {
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(37 37 37 / var(--tw-text-opacity));
}

@media (min-width: 768px) {
  .blog-post__short h2,
  .blog-post__short h3,
  .blog-post__short h4,
  .blog-post__short h5,
  .blog-post__short h6,
  .blog-post__txt h2,
  .blog-post__txt h3,
  .blog-post__txt h4,
  .blog-post__txt h5,
  .blog-post__txt h6 {
    margin-top: 2.5rem;
  }
}

.blog-post__short h2,
.blog-post__txt h2 {
  font-size: 24px;
}

.blog-post__short h3,
.blog-post__txt h3 {
  font-size: 22px;
}

.blog-post__short h4,
.blog-post__txt h4 {
  font-size: 20px;
}

.blog-post__short h5,
.blog-post__txt h5 {
  font-size: 18px;
}

.blog-post__short h6,
.blog-post__txt h6 {
  font-size: 16px;
}

.blog-post__short p:not(:last-child),
.blog-post__short ul:not(:last-child),
.blog-post__short ol:not(:last-child),
.blog-post__short blockquote:not(:last-child),
.blog-post__txt p:not(:last-child),
.blog-post__txt ul:not(:last-child),
.blog-post__txt ol:not(:last-child),
.blog-post__txt blockquote:not(:last-child) {
  margin-bottom: 1.5rem;
}

.blog-post__short ol ::marker,
.blog-post__short ul ::marker,
.blog-post__txt ol ::marker,
.blog-post__txt ul ::marker {
  --tw-text-opacity: 1;
  color: #0066FF; /* BLUE */
}

.blog-post__short ol,
.blog-post__txt ol {
  list-style: decimal;
  padding-left: 18px;
}

.blog-post__short ul,
.blog-post__txt ul {
  list-style: disc;
  padding-left: 18px;
}

.blog-post__short li:not(:last-child),
.blog-post__txt li:not(:last-child) {
  margin-bottom: 0.75rem;
}

.blog-post__short img,
.blog-post__txt img {
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  .blog-post__short img,
  .blog-post__txt img {
    margin-bottom: 1.5rem;
  }
}

.blog-post__short blockquote,
.blog-post__txt blockquote {
  border-left: 3px solid #0049FF;
  font-style: italic;
  padding-left: 12px;
}

.blog-post img {
  border-radius: 10px;
}

/* =========================================================
   BLOG ONLY: reduce gap between hero-small and blog section
   (does NOT affect other pages)
   ========================================================= */

.page-blog .hero-small {
  padding-bottom: 20px;
}

@media (min-width: 768px) {
  .page-blog .hero-small {
    padding-bottom: 22px;
  }
}

@media (min-width: 1024px) {
  .page-blog .hero-small {
    padding-bottom: 24px;
  }
}

.page-blog .blog-list-section .page-section {
  padding-top: 20px;
}

.page-blog .page-section {
  padding-top: 0;
}

.page-blog .hero-small {
  padding-bottom: 20px;
}

/* =========================
   Blog list section
   ========================= */

.blog-list {
  background-color: #efeff1;
  --blog-card-gap: 1rem;
  --blog-hidden-top-gap: 1rem;
}

/* Fade-in animation container */
.blog-list__list {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s;
}

.blog-list__list.animated {
  opacity: 1;
  visibility: visible;
}

/* Title block */
.blog-list__title {
  margin-bottom: 2rem;
  color: #252525;
}

@media (min-width: 768px) {
  .blog-list__title {
    margin-bottom: 60px;
    text-align: center;
  }
}

/* =========================
   Top Blog (Featured)
   ========================= */

.top-blog {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.top-blog__date-tag {
  order: 1;
  display: flex;
  align-items: center;
  margin: 0 0 1rem 0;
  font-size: 0.75rem;
  line-height: 1rem;
  text-transform: uppercase;
  color: #7d7878;
}

@media (min-width: 768px) {
  .top-blog__date-tag {
    margin-bottom: 1.5rem;
  }
}

.top-blog__separator {
  width: 0.25rem;
  height: 0.25rem;
  margin: 0.5rem;
  border-radius: 9999px;
  background-color: #7d7878;
}

.top-blog__tags {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.top-blog__tags span {
  display: inline-flex;
  align-items: center;
  border-radius: 20px;
  padding: 0.5rem 0.75rem;
  background-color: #efeff1;
}

.top-blog__title-desc {
  order: 3;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  color: #252525;
  margin: 0;
}

@media (min-width: 768px) {
  .top-blog__title-desc {
    order: 2;
    flex-direction: row;
    gap: 2rem;
    margin-bottom: 2rem;
  }
}

.top-blog__title-desc h2 {
  flex: 1 1 0%;
  font-size: 32px;
  font-weight: 600;
  line-height: 2.5rem;
  margin: 0;
}

.top-blog__title-desc p {
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin: 0;
}

@media (min-width: 768px) {
  .top-blog__title-desc p {
    width: 352px;
  }
}

.top-blog__title-desc p a {
  color: #ff7714;
}

.top-blog__img {
  order: 2;
  display: block;
  overflow: hidden;
  margin: 0 0 1.5rem 0;
  border-radius: 10px;
}

@media (min-width: 768px) {
  .top-blog__img {
    order: 3;
    margin-bottom: 0;
  }
}

.top-blog__img img {
  display: block;
  width: 100%;
  height: 175px;
  max-height: 470px;
  object-fit: cover;
  border-radius: 10px;
  transition: transform 0.3s;
}

@media (min-width: 768px) {
  .top-blog__img img {
    height: auto;
  }
}

@media (hover: hover) {
  .top-blog__img:hover img {
    transform: scale(1.1);
  }
}

/* =========================
   Blog Tag Buttons (filter row)
   ========================= */

.blog-list__title ul {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0 0;
  padding: 0;
}

.blog-list__title ul li {
  margin: 0;
}

@media (min-width: 768px) {
  .blog-list__title ul {
    justify-content: center;
  }
}

@media screen and (max-width: 1023px) {
  .blog-list__title ul {
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-padding-left: 20px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin: -20px;
    padding: 20px;
  }

  .blog-list__title ul::-webkit-scrollbar {
    display: none;
  }

  .blog-list__title ul li {
    flex-shrink: 0;
    scroll-snap-align: start;
  }
}

.blog-list__title ul a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 18px;
  border-radius: 999px;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
  background-color: #f7f7f7;
  color: #7d7878 !important;
  border: 1px solid #d6d6d6;
  box-shadow: 0 4px 8px #0000001f;
  cursor: pointer;
  transition:
    color 0.12s ease,
    background-color 0.12s ease,
    box-shadow 0.12s ease,
    transform 0.12s ease,
    border-color 0.12s ease,
    font-weight 0.12s ease;
}

.blog-list__title ul a:hover {
  background-color: #ededed;
  color: #3a3a3a !important;
  font-weight: 600;
  box-shadow: inset 0 3px 6px #00000035;
  transform: translateY(2px);
}

/* Pressed / active visual style (NO typography decisions) */
.blog-list__title ul a.active,
.blog-list__tags .blog-tag-btn.active {
  background-color: #e2e2e2;
  color: #2b2b2b !important;
  border-color: #c4c4c4;
  box-shadow: inset 0 4px 8px #00000040;
  transform: translateY(2px);
}

/* Nav tabs stay bold */
.blog-list__title ul a.active {
  font-weight: 600;
}

/* Article tags use lighter weight */
.blog-list__tags .blog-tag-btn.active {
  font-weight: 500; /* or 400 if you prefer */
}

/* =========================
   Blog list + cards
   ========================= */

.blog-list .blog-list__list {
  display: flex;
  flex-direction: column;
  gap: var(--blog-card-gap);
}

.blog-list .blog-list__hidden {
  display: block !important;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  margin-top: 0;
  transition: max-height 0.6s ease, opacity 0.35s ease, margin-top 0.35s ease;
}

.blog-list .blog-list__hidden.is-open {
  opacity: 1;
  max-height: 5000px;
  margin-top: var(--blog-hidden-top-gap);
}

.blog-list .blog-list__hidden > article + article {
  margin-top: var(--blog-card-gap);
}

.blog-list .blog-list__item {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.25rem;
  border-radius: 10px;
  background-color: #ffffff;
  box-shadow: 2px 2px 14px 0 #4f4e5d1f;
  transition: box-shadow 0.3s;
}

@media (min-width: 768px) {
  .blog-list .blog-list__item {
    flex-direction: row;
    gap: 1.5rem;
    padding: 1.5rem;
  }
}

.blog-list .blog-list__item.animated {
  animation: fadeIn 0.5s ease;
}

.blog-list .blog-list__item.leave-active {
  animation: fadeOut 0.5s ease;
}

.blog-list .blog-list__item .blog-list__link {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.blog-list .blog-list__item a:not(.blog-list__link) {
  position: relative;
  z-index: 2;
}

@media (hover: hover) {
  .blog-list .blog-list__item:hover {
    box-shadow: 2px 2px 18px 0 #4f4e5d33;
  }

  .blog-list .blog-list__item:hover img {
    transform: scale(1.1);
  }
}

.blog-list .blog-list__img {
  flex-shrink: 0;
  overflow: hidden;
}

@media (min-width: 768px) {
  .blog-list .blog-list__img {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    width: 236px;
  }
}

.blog-list .blog-list__img img {
  width: 100%;
  height: 175px;
  border-radius: 10px;
  object-fit: cover;
  transition: transform 0.3s;
}

@media (min-width: 768px) {
  .blog-list .blog-list__img img {
    height: 100%;
  }
}

.blog-list .blog-list__txt {
  display: flex;
  flex-direction: column;
  color: #252525;
}

@media (min-width: 768px) {
  .blog-list .blog-list__txt {
    max-width: 60.74766%;
    min-height: 140px;
  }
}

.blog-list .blog-list__txt-top {
  margin-bottom: auto;
  padding-bottom: 0.75rem;
}

@media (min-width: 768px) {
  .blog-list .blog-list__txt-top {
    padding-bottom: 1.25rem;
  }
}

.blog-list .blog-list__txt h3 {
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5rem;
}

.blog-list .blog-list__txt p {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.blog-list .blog-list__date-tag {
  display: flex;
  align-items: center;
  font-size: 0.75rem;
  line-height: 1rem;
  text-transform: uppercase;
  color: #7d7878;
}

.blog-list .blog-list__separator {
  width: 0.25rem;
  height: 0.25rem;
  margin: 0.5rem;
  border-radius: 9999px;
  background-color: #7d7878;
}

.blog-list .blog-list__tags {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.blog-list .blog-list__tags span {
  border-radius: 20px;
  padding: 0.5rem 0.75rem;
  background-color: #efeff1;
}

.blog-list .blog-list__item .blog-list__tags a.blog-tag-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 18px;
  border-radius: 999px;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
  background-color: #f7f7f7;
  color: #7d7878 !important;
  border: 1px solid #d6d6d6;
  box-shadow: 0 4px 8px #0000001f;
  text-decoration: none !important;
  cursor: pointer;
  transition:
    color 0.12s ease,
    background-color 0.12s ease,
    box-shadow 0.12s ease,
    transform 0.12s ease,
    border-color 0.12s ease,
    font-weight 0.12s ease;
}

.blog-list .blog-list__item .blog-list__tags a.blog-tag-btn:hover {
  background-color: #ededed;
  color: #3a3a3a !important;
  font-weight: 600;
  box-shadow: inset 0 3px 6px #00000035;
  transform: translateY(2px);
}

.hero-small .blog-tag-current {
  display: inline-block;
  padding: 0.5rem 0.85rem;
  border-radius: 999px;
  /* near-white surface */
  background-color: #f9f9fa;
  /* text */
  color: #2b2b2b;
  font-weight: 600;
  text-transform: uppercase;
  /* sunk / inset effect */
  box-shadow:
    inset 0 2px 4px rgba(0, 0, 0, 0.22),
    inset 0 -1px 0 rgba(255, 255, 255, 0.65);

  /* subtle boundary so it doesn't vanish */
  border: 1px solid rgba(0, 0, 0, 0.08);

  cursor: default;
}

/* =========================
   Buttons (center)
   ========================= */
.blog-list .blog-list__more {
  display: flex;
  justify-content: center;
  padding-top: 1.25rem;
  margin-top: 0;
}

.blog-list .blog-list__more--dual {
  gap: 14px;
}

.blog-list .blog-list__more button,
.blog-list .blog-list__more a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 168px;
}

/* Arrow animation (optional) */
.blog-list .blog-list__more .btn-arrow {
  transition: transform 0.25s ease;
  transform-origin: center;
  transform: rotate(90deg);
}

/* =========================
   Smooth roll up / roll down
   IMPORTANT: forces animation even if older CSS had display:none
   ========================= */
.blog-list__hidden {
  display: block !important;     /* <<< CRITICAL OVERRIDE */
  overflow: hidden;
  max-height: 0;
  transition: max-height 450ms ease;
}

.blog-list__hidden.is-open {
  max-height: 5000px;            /* big enough */
}


