/* ============================================================
   GIT INFOSYS — WEB DEVELOPMENT INDIA / LAYOUT UPDATE V2
   Only px-based typographic/spacing units are used in this file.
   Industries, Process and Across-India layouts are intentionally untouched.
   ============================================================ */

body {
  background: #fffdfb;
}

/* ========================= SIDE SCROLL MOTION ========================= */
.side-reveal-v2 {
  opacity: 0;
  will-change: transform, opacity;
  transition: transform 760ms cubic-bezier(.16, .78, .22, 1), opacity 620ms ease;
}

.side-reveal-v2[data-side="left"] {
  transform: translateX(-92px);
}

.side-reveal-v2[data-side="right"] {
  transform: translateX(92px);
}

.side-reveal-v2.side-in-v2 {
  opacity: 1;
  transform: translateX(0);
}

.side-reveal-v2.side-past-v2[data-side="left"] {
  opacity: .25;
  transform: translateX(58px);
}

.side-reveal-v2.side-past-v2[data-side="right"] {
  opacity: .25;
  transform: translateX(-58px);
}

@media (max-width: 767px) {
  .side-reveal-v2[data-side="left"] {
    transform: translateX(-34px);
  }

  .side-reveal-v2[data-side="right"] {
    transform: translateX(34px);
  }

  .side-reveal-v2.side-in-v2 {
    transform: translateX(0);
  }

  .side-reveal-v2.side-past-v2[data-side="left"] {
    transform: translateX(22px);
  }

  .side-reveal-v2.side-past-v2[data-side="right"] {
    transform: translateX(-22px);
  }
}

/* ========================= HEADER — REFERENCE LAYOUT ========================= */
.headerTop {
  top: 0;
  padding: 5px;
  /* background: #fff8f2; */
  border-bottom: 0;
  box-shadow: none;
  backdrop-filter: none;
  transition: padding 320ms ease, background-color 320ms ease, box-shadow 320ms ease;
}

.headerTop .gix-reference-nav {
  min-height: 70px;
  max-width: 1735px;
  margin: 0 auto;
  padding: 6px 7px;
  border: 1px solid #d9dfe7;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(52, 67, 82, .10), 0 2px 0 rgba(23, 33, 43, .06);
  transition: min-height 320ms cubic-bezier(.2, .8, .2, 1), padding 320ms ease, border-radius 320ms ease, box-shadow 320ms ease;
}

.headerTop .container-fluid {
  max-width: none;
  padding: 0;
}

.headerTop .navbar-brand {
  margin: 0 34px 0 0;
  transition: margin 320ms ease;
}

.headerTop .gix-logo-plate-v2 {
  min-width: 236px;
  min-height: 68px;
  padding: 10px 16px;
  border-radius: 17px;
  background: #18212b;
  box-shadow: 0 10px 24px rgba(24, 33, 43, .15);
  transition: min-width 320ms cubic-bezier(.2, .8, .2, 1), min-height 320ms cubic-bezier(.2, .8, .2, 1), padding 320ms ease, border-radius 320ms ease;
}

.headerTop .gix-logo-plate-v2 img {
  width: 210px;
  height: 42px;
  transition: width 320ms cubic-bezier(.2, .8, .2, 1), height 320ms cubic-bezier(.2, .8, .2, 1);
}

.headerTop .real-menu {
  width: 100%;
  justify-content: flex-end;
  gap: 8px;
}

.headerTop .real-menu>.nav-item>.gix-icon-link {
  width: 104px;
  min-height: 60px;
  padding: 8px 5px 6px;
  border-radius: 12px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  overflow: visible;
  color: #243447;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
  line-height: 1.2;
  transition: width 320ms cubic-bezier(.2, .8, .2, 1), min-height 320ms cubic-bezier(.2, .8, .2, 1), padding 320ms ease, gap 260ms ease, color 260ms ease, background-color 260ms ease, transform 260ms ease;
}

.headerTop .real-menu>.nav-item>.gix-icon-link::before {
  left: 28px;
  right: 28px;
  bottom: -2px;
  height: 3px;
  border-radius: 20px;
  background: #ff6f4d;
}

.headerTop .real-menu>.nav-item>.gix-icon-link:hover,
.headerTop .real-menu>.nav-item>.gix-icon-link:focus,
.headerTop .real-menu>.nav-item>.gix-icon-link.show {
  color: #ff6042;
  background: #fff3ec;
  /* transform: translateY(-3px); */
}

.headerTop .gix-nav-icon {
  font-size: 25px;
  line-height: 1;
  transition: transform 320ms cubic-bezier(.2, .8, .2, 1), font-size 320ms ease;
}

.headerTop .gix-icon-link:hover .gix-nav-icon,
.headerTop .gix-icon-link.show .gix-nav-icon {
  transform: translateY(-3px) rotate(-5deg) scale(1.08);
}

.headerTop .gix-nav-label {
  max-height: 22px;
  white-space: nowrap;
  opacity: 1;
  transform: translateY(0);
  overflow: hidden;
  transition: max-height 240ms ease, opacity 180ms ease, transform 240ms ease;
}

.headerTop .gix-icon-link .mm-caret {
  position: absolute;
  right: 10px;
  top: 11px;
  font-size: 9px;
}

.headerTop .gix-call-item {
  margin-left: 10px;
  display: flex;
  align-items: center;
}

.headerTop .gix-header-call {
  width: 62px;
  height: 62px;
  border: 1px solid #ffd0c4;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background: #ff6546;
  box-shadow: 0 12px 25px rgba(255, 101, 70, .22);
  font-size: 22px;
  position: relative;
  overflow: hidden;
  transition: width 320ms cubic-bezier(.2, .8, .2, 1), height 320ms cubic-bezier(.2, .8, .2, 1), transform 300ms ease, box-shadow 300ms ease;
}

.headerTop .gix-header-call::after {
  content: "";
  position: absolute;
  width: 80px;
  height: 18px;
  left: -78px;
  top: 4px;
  background: rgba(255, 255, 255, .55);
  transform: rotate(-35deg);
  transition: left 520ms ease;
}

.headerTop .gix-header-call:hover {
  color: #ffffff;
  transform: translateY(-4px) rotate(7deg);
  box-shadow: 0 18px 32px rgba(255, 101, 70, .28);
}

.headerTop .gix-header-call:hover::after {
  left: 72px;
}

.headerTop .mega-menu {
  top: 80px !important;
  left: 5px !important;
  right: 5px !important;
  max-width: 1460px;
  border-radius: 20px;
}

.headerTop .mm-simple {
  margin-top: 12px !important;
}


@media (max-width: 1199px) {
  .headerTop .navbar-brand {
    margin-right: 14px;
  }

  .headerTop .gix-logo-plate-v2 {
    min-width: 205px;
  }

  .headerTop .gix-logo-plate-v2 img {
    width: 180px;
  }

  .headerTop .real-menu {
    gap: 2px;
  }

  .headerTop .real-menu>.nav-item>.gix-icon-link {
    width: 88px;
    font-size: 12px;
  }
}

/* Desktop only: collapse the sticky navigation into an icon rail after scrolling.
   Mobile rules below remain completely unchanged. */
@media (min-width: 992px) {
  .headerTop.is-scrolled {
    padding: 6px 14px;
    /* background: rgba(255, 248, 242, .96); */
    box-shadow: 0 10px 28px rgba(35, 48, 60, .08);
  }

  .headerTop.is-scrolled .gix-reference-nav {
    min-height: 70px;
    padding: 5px 14px;
    border-radius: 20px;
    box-shadow: 0 10px 26px rgba(52, 67, 82, .09), 0 2px 0 rgba(23, 33, 43, .05);
  }

  .headerTop.is-scrolled .navbar-brand {
    margin-right: 22px;
  }

  .headerTop.is-scrolled .gix-logo-plate-v2 {
    min-width: 188px;
    min-height: 50px;
    padding: 5px 12px;
    border-radius: 14px;
  }

  .headerTop.is-scrolled .gix-logo-plate-v2 img {
    width: 166px;
    height: 34px;
  }

  .headerTop.is-scrolled .real-menu {
    gap: 5px;
  }

  .headerTop.is-scrolled .real-menu>.nav-item>.gix-icon-link {
    width: 58px;
    min-height: 50px;
    padding: 5px;
    gap: 0;
    border-radius: 14px;
  }

  .headerTop.is-scrolled .gix-nav-label {
    max-height: 0;
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
  }

  .headerTop.is-scrolled .gix-nav-icon {
    font-size: 23px;
  }

  .headerTop.is-scrolled .gix-icon-link .mm-caret {
    right: 5px;
    top: 5px;
    font-size: 8px;
  }

  .headerTop.is-scrolled .real-menu>.nav-item>.gix-icon-link::before {
    left: 17px;
    right: 17px;
    bottom: 2px;
  }

  .headerTop.is-scrolled .gix-call-item {
    margin-left: 7px;
  }

  .headerTop.is-scrolled .gix-header-call {
    width: 50px;
    height: 50px;
    font-size: 19px;
  }

  .headerTop.is-scrolled .mega-menu {
    top: 76px !important;
  }

  .headerTop.is-scrolled .mm-simple {
    margin-top: 5px !important;
  }
}

@media (max-width: 991px) {
  .headerTop {
    padding: 8px 10px;
  }

  .headerTop .gix-reference-nav {
    min-height: 76px;
    padding: 8px 10px;
    border-radius: 18px;
  }

  .headerTop .gix-logo-plate-v2 {
    min-width: 188px;
    min-height: 54px;
    padding: 6px 10px;
    border-radius: 13px;
  }

  .headerTop .gix-logo-plate-v2 img {
    width: 165px;
    height: 36px;
  }

  .headerTop .main-menu-toggle {
    width: 48px;
    height: 48px;
    border: 1px solid #e2e5e9;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #29394b;
    background: #fff7f1;
    font-size: 25px;
    box-shadow: none;
  }

  .headerTop .navbar-collapse {
    position: fixed;
    left: 10px;
    right: 10px;
    top: 84px;
    height: 550px;
    max-height: 550px;
    padding: 60px 14px 18px;
    border: 1px solid #e0e4e8;
    border-radius: 18px;
    overflow-y: auto;
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(38, 51, 64, .14);
  }

  .headerTop .mitem {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    border: 1px solid #eaded7;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ff6546;
    background: #fff5ef;
  }

  .headerTop .real-menu {
    align-items: stretch;
    gap: 6px;
  }

  .headerTop .real-menu>.nav-item>.gix-icon-link {
    width: 100%;
    min-height: 54px;
    padding: 8px 12px;
    border: 1px solid #edf0f2;
    border-radius: 12px;
    flex-direction: row;
    justify-content: flex-start;
    gap: 12px;
    text-align: left;
    background: #ffffff;
  }

  .headerTop .gix-nav-icon {
    width: 30px;
    font-size: 20px;
  }

  .headerTop .gix-icon-link .mm-caret {
    right: 14px;
    top: 20px;
  }

  .headerTop .mega-menu,
  .headerTop .mm-simple {
    position: static !important;
    inset: auto !important;
    width: 100%;
    max-width: none;
    margin: 6px 0 0 !important;
    transform: none !important;
    box-shadow: none;
  }

  .headerTop .mega-menu {
    padding: 8px;
  }

  .headerTop .mm-row {
    max-height: none;
    overflow: visible;
  }

  .headerTop .mm-list {
    grid-template-columns: 1fr;
  }

  .headerTop .gix-call-item {
    margin: 6px 0 0;
  }

  .headerTop .gix-header-call {
    width: 100%;
    height: 50px;
    border-radius: 12px;
  }

  .headerTop .gix-header-call::before {
    content: "Call +91 89630 03037";
    margin-right: 9px;
    font-size: 13px;
    font-weight: 850;
  }
}

@media (max-width: 480px) {
  .headerTop .gix-logo-plate-v2 {
    min-width: 164px;
  }

  .headerTop .gix-logo-plate-v2 img {
    width: 145px;
  }
}

/* ========================= HERO — EDITORIAL BUILD BOARD ========================= */
.hero-v2 {
 
 
  overflow: hidden;
  background: #fffdfb;
}

.hero-v2::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  right: -180px;
  top: 70px;
  border-radius: 50%;
  background: #eef8ff;
  filter: blur(0);
  z-index: 0;
}

.hero-v2::after {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  left: -145px;
  bottom: 25px;
  border-radius: 50%;
  background: #fff0e7;
  z-index: 0;
}

.hero-v2 .hero-orbit {
  display: none;
}

.hero-v2 .container {
  z-index: 2;
}

.hero-v2 .row {
  min-height: 550px;
}

.hero-v2 .row>.col-lg-6:first-child {
  width: 58%;
}

.hero-v2 .row>.col-lg-6:last-child {
  width: 42%;
}

.hero-v2 .hero-copy {
  max-width: 760px;
  padding: 42px 44px 38px;
  border: 1px solid #e8e0da;
  border-radius: 28px 28px 90px 28px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 25px 70px rgba(75, 67, 61, .08);
  position: relative;
}

.hero-v2 .hero-copy::before {
  content: "WEB / DEV / INDIA";
  position: absolute;
  right: 28px;
  top: 25px;
  color: #b5aaa2;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 2px;
  writing-mode: vertical-rl;
}

.hero-v2 h1 {
  max-width: 700px;
  margin: 8px 0 22px;
  font-size: 65px;
  line-height: .96;
  letter-spacing: -3.2px;
  font-weight: 900;
}

.hero-v2 .hero-word {
  display: inline-block;
  padding: 3px 14px 8px;
  border-radius: 12px;
  color: #ff6042;
  background: #fff0e8;
  transform: rotate(-2deg);
}

.hero-v2 .hero-copy>p {
  max-width: 675px;
  margin: 0 0 13px;
  color: #5f6973;
  font-size: 15px;
  line-height: 1.75;
}

.hero-v2 .hero-actions {
  margin-top: 24px;
}

.hero-v2 .hero-proof-row {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px dashed #dfd8d2;
  grid-template-columns: repeat(3, 1fr);
}

.hero-v2 .hero-proof-row>div {
  padding: 0 14px;
  border-right: 1px solid #ebe5e0;
}

.hero-v2 .hero-proof-row>div:first-child {
  padding-left: 0;
}

.hero-v2 .hero-proof-row>div:last-child {
  border-right: 0;
}

.hero-v2 .hero-proof-row strong {
  color: #2d4052;
  font-size: 18px;
}

.hero-v2 .hero-proof-row span {
  color: #7a8188;
  font-size: 10px;
}

.hero-v2 .hero-lab {
  min-height: 560px;
  padding: 28px 5px 22px 30px;
  perspective: none;
}

.hero-v2 .hero-lab::before {
  content: "";
  position: absolute;
  inset: 54px 0 20px 38px;
  border: 1px solid #dcd6ff;
  border-radius: 35px;
  background: #f2efff;
  transform: rotate(4deg);
}

.hero-v2 .hero-lab::after {
  content: "";
  position: absolute;
  width: 88px;
  height: 88px;
  right: 5px;
  top: 16px;
  border: 12px solid #fff4cd;
  border-radius: 50%;
}

.hero-v2 .hero-lab-ring {
  display: none;
}

.hero-v2 .browser-shell {
  width: 100%;
  max-width: 590px;
  margin: 0 0 0 auto;
  border: 1px solid #dce2e8;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 28px 65px rgba(59, 73, 86, .12);
  transform: rotate(-2deg);
  transition: transform 500ms cubic-bezier(.2, .8, .2, 1), box-shadow 500ms ease;
  position: relative;
  z-index: 3;
}

.hero-v2 .hero-lab:hover .browser-shell {
  transform: rotate(0deg) translateY(-7px);
  box-shadow: 0 36px 75px rgba(59, 73, 86, .15);
}

.hero-v2 .browser-bar {
  min-height: 58px;
  border-bottom: 1px solid #edf0f2;
  background: #fffaf6;
}

.hero-v2 .browser-address {
  border: 1px solid #e8e4df;
  color: #7d858d;
  background: #ffffff;
}

.hero-v2 .browser-body {
  background: #ffffff;
}

.hero-v2 .build-label b {
  color: #20805e;
  background: #eafbf4;
}

.hero-v2 .code-grid {
  gap: 10px;
}

.hero-v2 .code-panel {
  border: 1px solid #e5e7ea;
  background: #fbfcfd;
  box-shadow: none;
}

.hero-v2 .code-panel-main {
  background: #eef8ff;
}

.hero-v2 .mini-panel:nth-child(2) {
  background: #fff0e8;
}

.hero-v2 .mini-panel:nth-child(3) {
  background: #f2efff;
}

.hero-v2 .mini-panel:nth-child(4) {
  background: #f0fbf5;
}

.hero-v2 .mini-panel:nth-child(5) {
  background: #fff9dc;
}

.hero-v2 .build-terminal {
  border: 1px solid #e1e4e8;
  color: #44505c;
  background: #fffdf9;
}

.hero-v2 .build-terminal b {
  color: #ff6042;
}

.hero-v2 .float-chip {
  border: 1px solid #e4e5e8;
  color: #44505c;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(52, 64, 74, .09);
}

.hero-v2 .chip-one {
  left: 0;
  top: 98px;
}

.hero-v2 .chip-two {
  right: -10px;
  bottom: 80px;
}

.hero-v2 .chip-three {
  left: 14px;
  bottom: 30px;
}

.hero-v2 .tech-marquee-wrap {
  margin-top: 30px;
  border-top: 1px solid #eadfd7;
  border-bottom: 1px solid #eadfd7;
  background: #fff5ef;
}

.hero-v2 .tech-marquee-track span {
  color: #5d6670;
}

.hero-v2 .tech-marquee-track i {
  background: #ff6a4a;
}

@media (max-width: 1199px) {
  .hero-v2 h1 {
    font-size: 60px;
  }

  .hero-v2 .hero-copy {
    padding: 34px 34px 30px;
  }

  .hero-v2 .row {
    min-height: 620px;
  }
}

@media (max-width: 991px) {
  .hero-v2 {
    padding-top: 18px;
  }

  .hero-v2 .row {
    min-height: 0;
  }

  .hero-v2 .row>.col-lg-6:first-child,
  .hero-v2 .row>.col-lg-6:last-child {
    width: 100%;
  }

  .hero-v2 .hero-copy {
    max-width: none;
    border-radius: 24px 24px 60px 24px;
  }

  .hero-v2 .hero-lab {
    min-height: 520px;
    padding-top: 16px;
  }
}

@media (max-width: 767px) {
  .hero-v2 {
    padding: 12px 0 0;
  }

  .hero-v2 .hero-copy {
    padding: 25px 20px 24px;
    border-radius: 20px 20px 48px 20px;
  }

  .hero-v2 .hero-copy::before {
    display: none;
  }

  .hero-v2 h1 {
    font-size: 38px;
    letter-spacing: -2px;
  }

  .hero-v2 .hero-copy>p {
    font-size: 14px;
  }

  .hero-v2 .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hero-v2 .hero-proof-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .hero-v2 .hero-proof-row>div {
    padding: 0 0 12px;
    border-right: 0;
    border-bottom: 1px solid #ebe5e0;
  }

  .hero-v2 .hero-proof-row>div:last-child {
    border-bottom: 0;
  }

  .hero-v2 .hero-lab {
    min-height: 420px;
    padding: 14px 0 0;
  }

  .hero-v2 .hero-lab::before {
    inset: 35px 6px 10px 18px;
  }

  .hero-v2 .browser-shell {
    transform: rotate(-1deg);
  }

  .hero-v2 .float-chip {
    display: none;
  }
}

/* ========================= SERVICES — ASYMMETRIC BENTO ========================= */
.services-v2 {
  background: #fff8f3;
  overflow: hidden;
}

.services-v2 .section-heading {
  max-width: 1040px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 34px;
  align-items: end;
}

.services-v2 .section-heading .section-eyebrow {
  grid-column: 1 / -1;
}

.services-v2 .section-heading h2 {
  font-size: 52px;
}

.services-v2 .section-heading p {
  margin: 0;
  align-self: end;
}

.services-v2 .service-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
  margin: 0;
}

.services-v2 .service-grid>[class*="col-"] {
  width: auto;
  padding: 0;
}

.services-v2 .service-grid> :nth-child(1) {
  grid-column: span 7;
}

.services-v2 .service-grid> :nth-child(2) {
  grid-column: span 5;
}

.services-v2 .service-grid> :nth-child(3),
.services-v2 .service-grid> :nth-child(4),
.services-v2 .service-grid> :nth-child(5) {
  grid-column: span 4;
}

.services-v2 .service-grid> :nth-child(6) {
  grid-column: span 8;
}

.services-v2 .service-grid> :nth-child(7) {
  grid-column: span 4;
}

.services-v2 .service-grid> :nth-child(8),
.services-v2 .service-grid> :nth-child(9),
.services-v2 .service-grid> :nth-child(10) {
  grid-column: span 4;
}

.services-v2 .service-grid> :nth-child(11) {
  grid-column: span 5;
}

.services-v2 .service-grid> :nth-child(12) {
  grid-column: span 7;
}

.services-v2 .service-card {
  min-height: 100%;
  padding: 28px 30px 32px;
  border: 1px solid #e6dfda;
  border-radius: 20px;
  background: #ffffff;
  overflow: hidden;
  isolation: isolate;
}

.services-v2 .service-card::after {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  right: -170px;
  bottom: -170px;
  border-radius: 50%;
  background: #ffede4;
  z-index: -1;
  transition: width 500ms ease, height 500ms ease, right 500ms ease, bottom 500ms ease;
}

.services-v2 .service-grid> :nth-child(3n+2) .service-card::after {
  background: #eeebff;
}

.services-v2 .service-grid> :nth-child(3n+3) .service-card::after {
  background: #eaf8f1;
}

.services-v2 .service-card:hover::after {
  width: 720px;
  height: 720px;
  right: -260px;
  bottom: -390px;
}

.services-v2 .service-card:hover {
  transform: translateY(-7px) rotate(-.35deg);
  box-shadow: 0 20px 44px rgba(73, 62, 54, .10);
}

.services-v2 .service-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 42px;
  border: 1px solid #e8ded8;
  border-radius: 18px 18px 18px 5px;
  color: #ff6243;
  background: #fff6f0;
  font-size: 24px;
  opacity: 0;
  transform: translateY(22px) rotate(-9deg);
  transition: opacity 420ms ease 160ms, transform 520ms ease 160ms, border-radius 320ms ease;
}

.services-v2 .service-card.in-view .service-icon {
  opacity: 1;
  transform: translateY(0) rotate(0);
}

.services-v2 .service-card:hover .service-icon {
  border-radius: 50%;
  transform: translateY(-4px) rotate(8deg);
}

.services-v2 .service-card h3 {
  max-width: 600px;
  font-size: 23px;
  line-height: 1.15;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 420ms ease 260ms, transform 520ms ease 260ms;
}

.services-v2 .service-card.in-view h3 {
  opacity: 1;
  transform: translateY(0);
}

.services-v2 .service-card p,
.services-v2 .service-includes {
  max-width: 720px;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 420ms ease 350ms, transform 520ms ease 350ms;
}

.services-v2 .service-card.in-view p,
.services-v2 .service-card.in-view .service-includes {
  opacity: 1;
  transform: translateY(0);
}

.services-v2 .service-index {
  right: 20px;
  top: 12px;
  color: rgba(44, 62, 80, .08);
  font-size: 70px;
  font-weight: 950;
  letter-spacing: -5px;
}

@media (max-width: 991px) {
  .services-v2 .section-heading {
    grid-template-columns: 1fr;
  }

  .services-v2 .section-heading .section-eyebrow {
    grid-column: auto;
  }

  .services-v2 .section-heading h2 {
    font-size: 44px;
  }

  .services-v2 .section-heading p {
    margin-top: 14px;
  }

  .services-v2 .service-grid>* {
    grid-column: span 6 !important;
  }
}

@media (max-width: 767px) {
  .services-v2 {
    padding: 20px 0;
  }

  .services-v2 .section-heading h2 {
    font-size: 36px;
  }

  .services-v2 .service-grid {
    grid-template-columns: 1fr;
  }

  .services-v2 .service-grid>* {
    grid-column: auto !important;
  }

  .services-v2 .service-card {
    padding: 22px 20px 24px;
  }

  .services-v2 .service-icon {
    margin-bottom: 28px;
  }
}

/* ========================= WHY CHOOSE — PROOF LEDGER ========================= */
.why-v2 .section-heading {
  max-width: 100%;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}

.why-v2 .section-heading h2 {
  max-width: 820px;
}

.why-v2 .why-stack {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.why-v2 .why-row {
  min-height: 260px;
  padding: 30px;
  border: 1px solid #e0e5ea;
  border-radius: 24px;
  display: grid;
  grid-template-columns: 68px 1fr;
  grid-template-rows: auto 1fr;
  gap: 20px 22px;
  align-items: start;
  background: #ffffff;
  overflow: hidden;
}

.why-v2 .why-row:nth-child(4n+1),
.why-v2 .why-row:nth-child(4n+4) {
  background: #f1f8ff;
}

.why-v2 .why-row:nth-child(4n+2) {
  background: #fff5ef;
}

.why-v2 .why-row:nth-child(4n+3) {
  background: #f5f2ff;
}

.why-v2 .why-number {
  position: absolute;
  right: 20px;
  top: 14px;
  color: rgba(43, 57, 70, .08);
  font-size: 66px;
  line-height: 1;
  font-weight: 950;
}

.why-v2 .why-icon {
  width: 62px;
  height: 62px;
  grid-row: 1 / 3;
  border: 1px solid #dfe5e9;
  border-radius: 50%;
  color: #ff6042;
  background: #ffffff;
  font-size: 24px;
  transition: transform 420ms cubic-bezier(.2, .8, .2, 1), border-radius 420ms ease;
}

.why-v2 .why-row>div:last-child {
  max-width: 560px;
}

.why-v2 .why-row h3 {
  margin: 8px 0 12px;
  font-size: 22px;
}

.why-v2 .why-row p {
  font-size: 14px;
  line-height: 1.75;
}

.why-v2 .why-row:hover {
  transform: translateY(-6px) rotate(.35deg);
  box-shadow: 0 18px 42px rgba(56, 69, 80, .09);
}

.why-v2 .why-row:hover .why-icon {
  transform: rotate(12deg) scale(1.08);
  border-radius: 17px;
}

.why-v2 .compare-wrap {
  margin-top: 24px;
  padding: 26px;
  border: 1px solid #e6ded8;
  border-radius: 26px;
  display: grid;
  /* grid-template-columns: 32% 68%; */
  column-gap: 20px;
  background: #fffaf6;
}

.why-v2 .compare-head {
  grid-column: 1;
  grid-row: 1 / 3;
  min-height: 100%;
  padding: 24px;
  border-radius: 19px;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid #eee5df;
}

.why-v2 .compare-head span {
  color: #ff6042;
}

.why-v2 .compare-head h3 {
  font-size: 31px;
  line-height: 1.05;
}

.why-v2 .compare-wrap .table-responsive {
  grid-column: 2;
}

.why-v2 .gix-compare-table {
  background: transparent;
}

.why-v2 .gix-compare-table th,
.why-v2 .gix-compare-table td {
  border-color: #eadfd8;
}

.why-v2 .compare-note {
  grid-column: 2;
  margin: 14px 0 0;
}

@media (max-width: 991px) {
  .why-v2 .why-stack {
    grid-template-columns: 1fr;
  }

  .why-v2 .compare-wrap {
    grid-template-columns: 1fr;
  }

  .why-v2 .compare-head,
  .why-v2 .compare-wrap .table-responsive,
  .why-v2 .compare-note {
    grid-column: 1;
    grid-row: auto;
  }

  .why-v2 .compare-head {
    min-height: 220px;
    margin-bottom: 18px;
  }
}

@media (max-width: 767px) {
  .why-v2 {
    padding: 20px 0;
  }

  .why-v2 .section-heading {
    display: block;
  }

  .why-v2 .why-row {
    min-height: 0;
    padding: 22px 18px;
    grid-template-columns: 52px 1fr;
    gap: 14px;
  }

  .why-v2 .why-icon {
    width: 50px;
    height: 50px;
    font-size: 20px;
  }

  .why-v2 .compare-wrap {
    padding: 14px;
    border-radius: 20px;
  }

  .why-v2 .compare-head {
    min-height: 180px;
    padding: 18px;
  }

  .why-v2 .compare-head h3 {
    font-size: 25px;
  }
}

/* ========================= PROJECTS — CINEMATIC SLIDE ========================= */
.projects-v2 {
  background: #f4f9ff;
  overflow: hidden;
}

.projects-v2 .section-heading-row {
  align-items: center;
}

.projects-v2 .project-nav {
  gap: 8px;
}

.projects-v2 .project-prev,
.projects-v2 .project-next {
  width: 54px;
  height: 54px;
  border: 1px solid #dbe4ec;
  border-radius: 50%;
  color: #32506b;
  background: #ffffff;
  transition: transform 260ms ease, background 260ms ease, color 260ms ease;
}

.projects-v2 .project-prev:hover,
.projects-v2 .project-next:hover {
  color: #ffffff;
  background: #ff6546;
  transform: rotate(-8deg) scale(1.05);
}

.projects-v2 .project-swiper {
  overflow: visible;
}

.projects-v2 .swiper-slide {
  opacity: .52;
  transition: opacity 420ms ease, transform 420ms ease;
}

.projects-v2 .swiper-slide-active {
  opacity: 1;
}

.projects-v2 .project-card {
  min-height: 320px;
  border: 1px solid #dbe3ea;
  border-radius: 28px;
  display: grid;
  grid-template-columns: 64% 36%;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 22px 60px rgba(48, 73, 94, .09);
}

.projects-v2 .project-image {
  min-height: 320px;
  border-radius: 0;
}

.projects-v2 .project-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
  transition: transform 700ms cubic-bezier(.2, .8, .2, 1), filter 500ms ease;
}

.projects-v2 .project-image>span {
  width: 58px;
  height: 58px;
  right: 18px;
  top: 18px;
  border-radius: 50%;
  color: #ff6546;
  background: #ffffff;
  box-shadow: 0 10px 25px rgba(39, 58, 75, .10);
}

.projects-v2 .project-copy {
  min-height: 320px;
  padding: 34px 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  background: #fff5ef;
}

.projects-v2 .swiper-slide:nth-child(3n+2) .project-copy {
  background: #f2efff;
}

.projects-v2 .swiper-slide:nth-child(3n+3) .project-copy {
  background: #eef9f3;
}

.projects-v2 .project-copy small {
  margin-bottom: auto;
  color: #7b8690;
}

.projects-v2 .project-copy h3 {
  max-width: 250px;
  font-size: 34px;
  line-height: 1.02;
}

.projects-v2 .project-copy>i {
  width: 58px;
  height: 58px;
  margin-top: 24px;
  border: 1px solid #e1d8d2;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ff6546;
  background: #ffffff;
  transition: transform 400ms ease;
}

.projects-v2 .project-card:hover .project-image img {
  transform: scale(1.055);
}

.projects-v2 .project-card:hover .project-copy>i {
  transform: rotate(45deg);
}

@media (max-width: 991px) {
  .projects-v2 .project-card {
    min-height: 430px;
    grid-template-columns: 60% 40%;
  }

  .projects-v2 .project-image,
  .projects-v2 .project-copy {
    min-height: 430px;
  }

  .projects-v2 .project-copy h3 {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .projects-v2 {
    padding: 20px 0;
  }

  .projects-v2 .section-heading-row {
    align-items: flex-end;
  }

  .projects-v2 .project-prev,
  .projects-v2 .project-next {
    width: 44px;
    height: 44px;
  }

  .projects-v2 .project-card {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .projects-v2 .project-image {
    min-height: 300px;
  }

  .projects-v2 .project-copy {
    min-height: 150px;
    padding: 22px;
  }

  .projects-v2 .project-copy small {
    margin-bottom: 30px;
  }
}

/* ========================= PRICING — HORIZONTAL TICKETS ========================= */
.pricing-v2 {
  background: #fffaf0;
}

.pricing-v2 .section-heading {
  max-width: 980px;
}

.pricing-v2 .pricing-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 0;
}

.pricing-v2 .pricing-grid>[class*="col-"] {
  width: auto;
  padding: 0;
}

.pricing-v2 .price-card {
  min-height: 210px;
  padding: 24px 24px 24px 118px;
  border: 1px solid #e7dfd4;
  border-radius: 24px;
  display: block;
  background: #ffffff;
  overflow: hidden;
}

.pricing-v2 .price-card::after {
  content: "";
  position: absolute;
  left: 92px;
  top: 18px;
  bottom: 18px;
  border-left: 2px dashed #eadfd7;
}

.pricing-v2 .price-icon {
  position: absolute;
  left: 18px;
  top: 18px;
  bottom: 18px;
  width: 58px;
  height: auto;
  border-radius: 18px;
  color: #ff6546;
  background: #fff0e8;
  font-size: 24px;
}

.pricing-v2 .pricing-grid> :nth-child(2) .price-icon {
  color: #5b50d8;
  background: #efedff;
}

.pricing-v2 .pricing-grid> :nth-child(3) .price-icon {
  color: #24805d;
  background: #eaf9f2;
}

.pricing-v2 .pricing-grid> :nth-child(4) .price-icon {
  color: #9a7513;
  background: #fff6d5;
}

.pricing-v2 .price-card>span {
  display: block;
  margin-bottom: 8px;
  color: #68727c;
}

.pricing-v2 .price-card h3 {
  margin: 0 0 11px;
  color: #2d4052;
  font-size: 32px;
  line-height: 1.05;
}

.pricing-v2 .price-card h3 small {
  font-size: 13px;
}

.pricing-v2 .price-card p {
  max-width: 470px;
  margin-bottom: 14px;
}

.pricing-v2 .price-card a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ff6546;
  font-weight: 850;
}

.pricing-v2 .price-card a i {
  transition: transform 260ms ease;
}

.pricing-v2 .price-card:hover {
  transform: translateX(7px);
  border-color: #ffcdbf;
  box-shadow: -10px 14px 34px rgba(77, 67, 58, .07);
}

.pricing-v2 .price-card:hover a i {
  transform: translate(4px, -4px);
}

@media (max-width: 991px) {
  .pricing-v2 .pricing-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .pricing-v2 {
    padding: 20px 0;
  }

  .pricing-v2 .price-card {
    min-height: 0;
    padding: 84px 18px 20px;
  }

  .pricing-v2 .price-card::after {
    display: none;
  }

  .pricing-v2 .price-icon {
    left: 18px;
    top: 16px;
    bottom: auto;
    width: 52px;
    height: 52px;
  }

  .pricing-v2 .price-card h3 {
    font-size: 28px;
  }
}

/* =====================================================
   TEAM - PORTRAIT IMAGE DESIGN
   ===================================================== */

.team-portrait {
  position: relative;
  padding: 50px 0;
  overflow: hidden;
  background: #fffaf6;
}

.team-portrait::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  top: 80px;
  left: -140px;
  border: 1px solid #ffd9cc;
  border-radius: 50%;
}

.team-portrait::after {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  right: -190px;
  bottom: 40px;
  border: 1px dashed #cddfed;
  border-radius: 50%;
}


/* ================= HEADING ================= */

.team-portrait-head {
  position: relative;
  z-index: 2;
  margin-bottom: 55px;
}

.team-portrait .section-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
  color: #43505d;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.team-portrait .section-eyebrow span {
  position: relative;
  width: 38px;
  height: 2px;
  background: #ff684d;
}

.team-portrait .section-eyebrow span::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  right: -2px;
  top: -3px;
  border-radius: 50%;
  background: #ff684d;
}

.team-portrait-head h2 {
  max-width: 700px;
  margin: 0;
  color: #16212c;
  font-size: 54px;
  line-height: 60px;
  font-weight: 800;
  letter-spacing: -2px;
}

.team-portrait-head p {
  max-width: 500px;
  margin: 0;
  color: #687582;
  font-size: 16px;
  line-height: 28px;
}


/* ================= GRID ================= */

.team-portrait-grid {
  position: relative;
  z-index: 2;
}

.team-card-drop {
  padding-top: 55px;
}


/* ================= CARD ================= */

.team-portrait-card {
  position: relative;
  height: 100%;
  overflow: hidden;
  border: 1px solid #e7ddd6;
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 18px 45px rgba(28, 38, 48, 0.07);
  transition:
    transform 500ms cubic-bezier(.16,1,.3,1),
    box-shadow 500ms ease,
    border-color 400ms ease;
}

.team-portrait-card:hover {
  transform: translateY(-12px);
  border-color: #ffb59f;
  box-shadow: 0 30px 65px rgba(28, 38, 48, 0.13);
}


/* ================= IMAGE ================= */

.team-portrait-image {
  position: relative;
  height: 320px;
  margin: 12px;
  overflow: hidden;
  border-radius: 20px;
  background: #f0ebe7;
}

.team-portrait-image img {
  width: 100%;
  height: 320px;
  display: block;
  object-fit: cover;
  object-position: center top;
  transition:
    transform 850ms cubic-bezier(.16,1,.3,1),
    filter 500ms ease;
}

.team-portrait-card:hover .team-portrait-image img {
  transform: scale(1.07);
}


/* moving frame */

.team-portrait-frame {
  position: absolute;
  inset: 14px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,0.75);
  border-radius: 14px;
  transform: scale(.94);
  opacity: 0;
  transition:
    transform 550ms cubic-bezier(.16,1,.3,1),
    opacity 350ms ease;
}

.team-portrait-card:hover .team-portrait-frame {
  transform: scale(1);
  opacity: 1;
}


/* ================= NUMBER ================= */

.team-portrait-number {
  position: absolute;
  z-index: 4;
  top: 18px;
  left: 18px;
  min-width: 46px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 20px;
  background: rgba(255,255,255,0.90);
  color: #17222d;
  font-size: 12px;
  line-height: 34px;
  font-weight: 800;
  letter-spacing: 1px;
  backdrop-filter: blur(8px);
  transition:
    background 350ms ease,
    color 350ms ease,
    transform 400ms ease;
}

.team-portrait-card:hover .team-portrait-number {
  color: #ffffff;
  background: #ff684d;
  transform: translateY(4px);
}


/* ================= ICON ================= */

.team-portrait-icon {
  position: absolute;
  z-index: 5;
  right: 18px;
  bottom: 18px;
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.70);
  border-radius: 17px;
  color: #ffffff;
  background: rgba(23,33,43,0.82);
  font-size: 21px;
  backdrop-filter: blur(10px);
  transition:
    transform 550ms cubic-bezier(.16,1,.3,1),
    background 350ms ease,
    border-radius 350ms ease;
}

.team-portrait-card:hover .team-portrait-icon {
  transform: rotate(-10deg) translateY(-6px);
  border-radius: 50%;
  background: #ff684d;
}


/* ================= CONTENT ================= */

.team-portrait-content {
  position: relative;
  min-height: 220px;
  padding: 26px 26px 30px;
}

.team-portrait-content::before {
  content: "";
  position: absolute;
  left: 26px;
  right: 26px;
  top: 0;
  height: 1px;
  background: #eee5df;
}

.team-portrait-content::after {
  content: "";
  position: absolute;
  left: 26px;
  top: 0;
  width: 0;
  height: 2px;
  background: #ff684d;
  transition: width 650ms cubic-bezier(.16,1,.3,1);
}

.team-portrait-card:hover .team-portrait-content::after {
  width: 80px;
}

.team-portrait-content small {
  display: block;
  margin-bottom: 10px;
  color: #ff684d;
  font-size: 11px;
  line-height: 16px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.team-portrait-content h3 {
  margin: 0 0 10px;
  color: #16212c;
  font-size: 25px;
  line-height: 31px;
  font-weight: 800;
  transition: transform 400ms ease;
}

.team-portrait-content p {
  margin: 0;
  color: #6b7782;
  font-size: 14px;
  line-height: 24px;
}

.team-portrait-card:hover .team-portrait-content h3 {
  transform: translateX(5px);
}


/* ================= SCROLL ANIMATION ================= */

.team-reveal {
  opacity: 0;
  transform: translateY(90px);
  transition:
    opacity 850ms ease,
    transform 950ms cubic-bezier(.16,1,.3,1);
}

.team-reveal.team-visible {
  opacity: 1;
  transform: translateY(0);
  height: 400px;
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 991px) {

  .team-portrait {
    padding: 20px 0;
  }

  .team-portrait-head {
    margin-bottom: 30px;
  }

  .team-portrait-head h2 {
    font-size: 40px;
    line-height: 46px;
    letter-spacing: -1px;
  }

  .team-portrait-head p {
    margin-top: 10px;
    font-size: 15px;
    line-height: 25px;
  }

  .team-card-drop {
    padding-top: 0;
  }

  .team-portrait-image,
  .team-portrait-image img {
    height: 470px;
  }

}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 575px) {

  .team-portrait::before,
  .team-portrait::after {
    display: none;
  }

  .team-portrait-head h2 {
    font-size: 34px;
    line-height: 40px;
  }



  .team-portrait-card {
    border-radius: 22px;
  }

  .team-portrait-image {
    height: 430px;
    margin: 9px;
    border-radius: 17px;
  }

  .team-portrait-image img {
    height: 430px;
  }

  .team-portrait-content {
    /* min-height: auto; */
    padding: 23px 20px 25px;
  }

  .team-portrait-content::before {
    left: 20px;
    right: 20px;
  }

  .team-portrait-content::after {
    left: 20px;
  }

  .team-portrait-content h3 {
    font-size: 24px;
    line-height: 30px;
  }
.team-reveal.team-visible {
  height: 500px !important;
}
}

/* ========================= REVIEWS — REVIEW RECEIPTS ========================= */
.reviews-v2 {
  background: #faf7ff;
}

.reviews-v2 .section-heading {
  max-width: 920px;
}

.reviews-v2 .reviews-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 0;
}

.reviews-v2 .reviews-grid>[class*="col-"] {
  width: auto;
  padding: 0;
}

.reviews-v2 .review-platform-card {
  min-height: 190px;
  padding: 28px 30px 28px 122px;
  border: 1px solid #e3def0;
  border-radius: 22px;
  display: block;
  background: #ffffff;
  overflow: hidden;
}

.reviews-v2 .review-platform-card>span {
  position: absolute;
  left: 24px;
  top: 22px;
  color: rgba(71, 58, 112, .10);
  font-size: 54px;
  font-weight: 950;
  line-height: 1;
}

.reviews-v2 .review-icon {
  position: absolute;
  left: 30px;
  bottom: 24px;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  color: #6456dc;
  background: #efedff;
  transition: transform 350ms ease, border-radius 350ms ease;
}

.reviews-v2 .reviews-grid> :nth-child(2) .review-icon {
  color: #ff6546;
  background: #fff0e8;
}

.reviews-v2 .reviews-grid> :nth-child(3) .review-icon {
  color: #29805f;
  background: #eaf9f2;
}

.reviews-v2 .reviews-grid> :nth-child(4) .review-icon {
  color: #ac7d13;
  background: #fff6d8;
}

.reviews-v2 .review-platform-card::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -150px;
  top: -150px;
  border-radius: 50%;
  background: #eeeaff;
  transition: transform 520ms ease;
}

.reviews-v2 .review-platform-card:hover::after {
  transform: scale(2.8);
}

.reviews-v2 .review-platform-card h3,
.reviews-v2 .review-platform-card p,
.reviews-v2 .review-platform-card b {
  position: relative;
  z-index: 2;
}

.reviews-v2 .review-platform-card:hover {
  transform: translateY(-5px) rotate(-.25deg);
}

.reviews-v2 .review-platform-card:hover .review-icon {
  transform: rotate(10deg);
  border-radius: 50%;
}

@media (max-width: 991px) {
  .reviews-v2 .reviews-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .reviews-v2 {
    padding: 20px 0;
  }

  .reviews-v2 .review-platform-card {
    min-height: 0;
    padding: 92px 20px 22px;
  }

  .reviews-v2 .review-platform-card>span {
    left: 20px;
    top: 20px;
    font-size: 44px;
  }

  .reviews-v2 .review-icon {
    left: 78px;
    top: 18px;
    bottom: auto;
    width: 48px;
    height: 48px;
  }
}

/* ========================= FAQ — TWO-COLUMN QUESTION GRID ========================= */
.faq-v2 {
  background: #fffaf5;
}

.faq-v2>.container>.row {
  display: block;
  margin: 0;
}

.faq-v2>.container>.row>.col-lg-4,
.faq-v2>.container>.row>.col-lg-8 {
  width: 100%;
  padding: 0;
}

.faq-v2 .faq-sticky {
  position: relative;
  top: auto;
  margin-bottom: 28px;
  padding: 0 0 22px;
  border-bottom: 1px solid #e9ded6;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 18px;
}

.faq-v2 .faq-sticky .section-eyebrow {
  grid-column: 1;
}

.faq-v2 .faq-sticky h2 {
  grid-column: 1;
  max-width: 840px;
  font-size: 52px;
}

.faq-v2 .faq-badge {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
}

.faq-v2 .faq-accordion {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.faq-v2 .faq-accordion .accordion-item {
  margin: 0;
  border: 1px solid #e5ded7;
  border-radius: 18px;
  overflow: hidden;
  background: #ffffff;
  transition: transform 280ms ease, border-color 280ms ease, box-shadow 280ms ease;
}

.faq-v2 .faq-accordion .accordion-item:has(.accordion-collapse.show) {
  grid-column: 1 / -1;
  border-color: #ffc7b6;
  box-shadow: 0 16px 38px rgba(77, 65, 55, .08);
}

.faq-v2 .accordion-button {
  min-height: 84px;
  padding: 18px 22px;
  background: transparent;
}

.faq-v2 .accordion-button span {
  width: 44px;
  height: 44px;
  margin-right: 14px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ff6546;
  background: #fff0e8;
  flex: 0 0 auto;
}

.faq-v2 .accordion-item:hover {
  transform: translateY(-3px);
  border-color: #ffd0c2;
}

.faq-v2 .accordion-body {
  padding: 0 24px 24px 80px;
}

@media (max-width: 991px) {
  .faq-v2 .faq-sticky {
    grid-template-columns: 1fr;
  }

  .faq-v2 .faq-badge {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }

  .faq-v2 .faq-accordion {
    grid-template-columns: 1fr;
  }

  .faq-v2 .faq-accordion .accordion-item:has(.accordion-collapse.show) {
    grid-column: 1;
  }
}

@media (max-width: 767px) {
  .faq-v2 {
    padding: 20px 0;
  }

  .faq-v2 .faq-sticky h2 {
    font-size: 36px;
  }

  .faq-v2 .accordion-button {
    min-height: 74px;
    padding: 14px;
    font-size: 14px;
  }

  .faq-v2 .accordion-button span {
    width: 38px;
    height: 38px;
    margin-right: 10px;
  }

  .faq-v2 .accordion-body {
    padding: 0 16px 18px;
  }
}

/* ========================= QUOTE — FORM FIRST / INFO PANEL ========================= */
.quote-v2 {
  background: #eef8ff;
}

.quote-v2 .quote-shell {
  padding: 16px;
  border: 1px solid #dbe7f0;
  border-radius: 30px;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(55, 80, 101, .09);
}

.quote-v2 .quote-shell>.row {
  flex-direction: row-reverse;
  align-items: stretch !important;
}

.quote-v2 .quote-copy {
  height: 100%;
  min-height: 560px;
  padding: 38px;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  background: #fff3eb;
  position: relative;
  overflow: hidden;
}

.quote-v2 .quote-copy::after {
  content: "30";
  position: absolute;
  right: -6px;
  bottom: -28px;
  color: rgba(255, 101, 70, .08);
  font-size: 190px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -12px;
}

.quote-v2 .quote-copy h2 {
  max-width: 520px;
  font-size: 48px;
}

.quote-v2 .quote-phone {
  margin-top: auto;
  border: 1px solid #ffd0c3;
  background: #ffffff;
  z-index: 2;
}

.quote-v2 .quote-facts {
  z-index: 2;
}

.quote-v2 .quote-form {
  height: 100%;
  padding: 28px 18px 22px 12px;
  background: transparent;
}

.quote-v2 .quote-form .form-control,
.quote-v2 .quote-form .form-select {
  min-height: 54px;
  border: 1px solid #dce4ea;
  border-radius: 13px;
  background: #fbfdff;
  box-shadow: none;
}

.quote-v2 .quote-form textarea.form-control {
  min-height: 150px;
}

.quote-v2 .quote-form .form-control:focus,
.quote-v2 .quote-form .form-select:focus {
  border-color: #ff9f86;
  box-shadow: 0 0 0 3px #fff0ea;
}

.quote-v2 .quote-submit {
  min-width: 210px;
}

@media (max-width: 991px) {
  .quote-v2 .quote-shell>.row {
    flex-direction: column;
  }

  .quote-v2 .quote-copy {
    min-height: 430px;
  }

  .quote-v2 .quote-form {
    padding: 12px;
  }
}

@media (max-width: 767px) {
  .quote-v2 {
    padding: 20px 0;
  }

  .quote-v2 .quote-shell {
    padding: 8px;
    border-radius: 22px;
  }

  .quote-v2 .quote-copy {
    min-height: 390px;
    padding: 24px 20px;
    border-radius: 18px;
  }

  .quote-v2 .quote-copy h2 {
    font-size: 36px;
  }

  .quote-v2 .quote-copy::after {
    font-size: 130px;
  }

  .quote-v2 .quote-form {
    padding: 14px 8px 8px;
  }
}

/* ========================= FOOTER — LIGHT DIRECTORY LAYOUT ========================= */
.footer-v2 {
  padding: 50px 0 24px;
  background: #fffaf5;
  border-top: 1px solid #eadfd7;
}

.footer-v2 .gix-footer__inner {
  width: calc(100% - 40px);
  max-width: 1500px;
}

.footer-v2 .gix-footer__main-grid {
  display: grid;
  grid-template-columns: 1.25fr .85fr .85fr 1.2fr;
  gap: 14px;
}

.footer-v2 .gix-footer__brand {
  grid-column: 1 / -1;
  padding: 22px;
  border: 1px solid #e7ddd5;
  border-radius: 22px;
  display: grid;
  grid-template-columns: 270px 1fr auto;
  gap: 28px;
  align-items: center;
  background: #ffffff;
}

.footer-v2 .gix-footer__brand p {
  margin: 0;
  max-width: 650px;
  font-size: 13px;
}

.footer-v2 .gix-footer__brand-mark {
  margin: 0;
  justify-content: flex-end;
}

.footer-v2 .gix-footer__logo {
  width: 245px;
  min-height: 64px;
  background: #18212b;
}

.footer-v2 .gix-footer__column {
  padding: 22px;
  border: 1px solid #e9e0d9;
  border-radius: 20px;
  background: #ffffff;
}

.footer-v2 .gix-footer__contact-column {
  grid-column: span 1;
}

.footer-v2 .gix-footer__title {
  color: #2d4052;
  font-size: 16px;
}

.footer-v2 .gix-footer__links li {
  border-bottom-style: dashed;
}

.footer-v2 .gix-footer__sector-links i {
  background: #fff0e8;
}

.footer-v2 .gix-footer__reviews {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #e8ded6;
  border-radius: 20px;
  background: #ffffff;
}

.footer-v2 .gix-footer__review-card {
  min-height: 72px;
  border-style: dashed;
  box-shadow: none;
}

.footer-v2 .gix-footer__review-card:hover {
  transform: translateY(-4px) rotate(-.4deg);
  border-style: solid;
}

.footer-v2 .gix-footer__bottom {
  margin-top: 14px;
  padding: 16px 18px 0;
}

@media (max-width: 1199px) {
  .footer-v2 .gix-footer__main-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-v2 .gix-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 991px) {
  .footer-v2 .gix-footer__brand {
    grid-template-columns: 1fr;
  }

  .footer-v2 .gix-footer__brand-mark {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .footer-v2 {
    padding: 20px 0;
  }

  .footer-v2 .gix-footer__inner {
    width: calc(100% - 24px);
  }

  .footer-v2 .gix-footer__main-grid {
    grid-template-columns: 1fr;
  }

  .footer-v2 .gix-footer__brand,
  .footer-v2 .gix-footer__column {
    padding: 18px;
    border-radius: 16px;
  }

  .footer-v2 .gix-footer__reviews {
    grid-template-columns: 1fr;
  }
}

/* Keep motion comfortable for users who request it. */
@media (prefers-reduced-motion: reduce) {

  .side-reveal-v2,
  .side-reveal-v2[data-side="left"],
  .side-reveal-v2[data-side="right"],
  .side-reveal-v2.side-past-v2[data-side="left"],
  .side-reveal-v2.side-past-v2[data-side="right"] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}