/* Nayak & Co Custom Styles */
:root {
  --font-body: 'Newsreader', serif;
  --font-headline: 'Libre Caslon Text', serif;
  --font-label: 'Literata', serif;
}

body,
p,
.p,
.about-text {
  font-family: var(--font-body) !important;
}

h1,
h2,
h3,
.h1,
.h2,
.h3,
.h2_form,
.h3_team {
  font-family: var(--font-headline) !important;
}

.h1.is-hero {
  font-size: clamp(2.5rem, 4.8vw, 6.5rem) !important;
  line-height: 0.9 !important;
  letter-spacing: -0.03em !important;
}

.button-text,
.footer_link-text,
.nav_link-block,
.label,
.nav_link {
  font-family: var(--font-label) !important;
}

/* --- Hero Layout Fixes --- */
.hero_bottom-right {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 50vh !important;
}

.hero_bottom-cta-wrap {
  margin-top: -2.5rem !important;
}



html.is-preloading,
body.is-preloading {
  overflow: hidden;
}

/* FOUC Prevention */
html.is-preloading .section_hero,
html.is-preloading .about-text {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* --- About Section Desktop Restoration --- */
body .section_about,
body .section_about>.padding-global,
body .section_about .pin-height {
  height: 300vh !important;
  /* Propagation of height for sticky behavior */
  position: relative !important;
  background-color: #000 !important;
}

body .container-global.is-about {
  position: sticky !important;
  /* Stick during scroll-reveal */
  top: 0 !important;
  height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 4.5vw !important;
  overflow: hidden !important;
  z-index: 5 !important;
}

body .about-text {
  font-family: var(--font-body) !important;
  font-size: 2.6rem !important; /* Optimized for density */
  font-weight: 500 !important;
  line-height: 1.4 !important; /* Improved reading vertical rhythm */
  letter-spacing: -0.01em !important;
  color: #fff !important;
  max-width: 80% !important;
  text-align: left !important;
}

.about-point {
  margin-bottom: 2.2rem !important; /* Tightened gap */
  opacity: 1; /* GSAP will handle alpha */
  position: relative;
  display: block !important;
}

.about-point::before {
  content: "■";
  font-size: 0.8rem;
  margin-right: 1.5rem;
  opacity: 0.4;
  display: inline-block;
  vertical-align: middle;
}

/* Ensure words have breathing room */
body .about-text .word {
  display: inline-block !important;
}

@media screen and (min-width: 992px) {
  body .about-text .word {
    margin-right: 0 !important; /* Fix for desktop spacing */
  }
}

[data-anim],
[data-anim-line],
[data-anim="lines"] {
  will-change: transform, opacity, filter;
}

/* Desktop default (>=1920px) */
html {
  font-size: 0.83vw;
}

/* ≤1920px */
@media (max-width:1920px) {
  html {
    font-size: 0.83vw;
  }
}

/* ≤1440px */
@media (max-width:1440px) {
  html {
    font-size: 0.93vw;
  }
}

/* ≤767px */
@media (max-width:767px) {
  html {
    font-size: 16px;
  }
}

/* Make text look crisper and more legible in all browsers */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Focus state style for keyboard navigation for the focusable elements */
*[tabindex]:focus-visible,
input[type="file"]:focus-visible {
  outline: 0.125rem solid #4d65ff;
  outline-offset: 0.125rem;
}

/* Set color style to inherit */
.inherit-color * {
  color: inherit;
}

/* Get rid of top margin on first element in any rich text element */
.w-richtext> :not(div):first-child,
.w-richtext>div:first-child> :first-child {
  margin-top: 0 !important;
}

/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child,
.w-richtext ol li:last-child,
.w-richtext ul li:last-child {
  margin-bottom: 0 !important;
}

/* Make sure containers never lose their center alignment */
.container-medium,
.container-small,
.container-large {
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Apply "..." after 3 lines of text */
.text-style-3lines {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* Apply "..." after 2 lines of text */
.text-style-2lines {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* These classes are never overwritten */
.hide,
.is-hidden {
  display: none !important;
}


@media screen and (min-width: 992px) {
  .team_cards {
    display: flex !important;
    flex-direction: column !important;
    gap: 25rem !important;
    /* Large gap between rows */
    margin-top: 45rem !important;
    z-index: 2 !important;
    position: relative !important;
    width: 100% !important;
  }

  .team-card_wrapper {
    width: 22vw !important;
    /* Balanced Nayak size */
    max-width: 380px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .team-cards_row {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 6vw !important;
    margin-bottom: 2rem !important;
    width: 100% !important;
  }

  .team-cards_column:empty {
    display: none !important;
  }

  .team-cards_column {
    display: flex !important;
    justify-content: center !important;
    width: auto !important;
  }

  /* Ensure background titles stay behind the cards */
  .team_sticky {
    z-index: 1 !important;
  }

  /* Production-grade title size to prevent overlap */
  .team_sticky .h2,
  .team_sticky h2 {
    font-size: 8.5vw !important;
    /* Matches production scaling */
    line-height: 0.85 !important;
    letter-spacing: -0.04em !important;
  }

  /* Balanced stagger for depth without excessive spread */
  .team-card_wrapper:not(.is-2):not(.is-3):not(.is-4) {
    margin-top: 4rem !important;
  }

  .team-card_wrapper.is-2 {
    margin-top: 0rem !important;
  }

  .team-card_wrapper.is-3 {
    margin-top: 4rem !important;
  }

  .team-card_wrapper.is-4 {
    margin-top: 0 !important;
  }

  /* --- Desktop Footer Overhaul (Nayak Parity) --- */
  .section_footer {
    padding-bottom: 1rem !important;
  }

  .footer_top-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 4fr !important;
    /* Contact | (Nav + Studio) */
    gap: 8vw !important;
    margin-bottom: 1rem !important;
    /* Reduced from 12rem */
    align-items: start !important;
    width: 100% !important;
  }

  /* Break the nested column into two horizontal pieces using a grid */
  .footer_top-column:nth-child(2) {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 0 4vw !important;
    /* horizontal gap */
    align-items: start !important;
  }

  /* Force headers to the top row of the inner grid */
  .footer_top-column:nth-child(2) .footer_link-title:first-child {
    grid-column: 1;
    grid-row: 1;
  }

  .footer_top-column:nth-child(2) .footer_link-title.margin-top-2rem {
    grid-column: 2;
    grid-row: 1;
    margin-top: 0 !important;
  }

  /* Force content to the second row of the inner grid */
  .footer_top-column:nth-child(2) .footer_link-list-2col {
    grid-column: 1;
    grid-row: 2;
  }

  .footer_top-column:nth-child(2) .footer_link-list:last-child {
    grid-column: 2;
    grid-row: 2;
  }

  .footer_bottom-wrapper {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    width: 100% !important;
    gap: 2rem !important;
  }

  .footer_logo-text-wrapper {
    flex: 0 0 auto !important;
  }

  .footer_logo-img {
    height: 8vw !important;
    /* Scaled for footer impact */
    width: auto !important;
    object-fit: contain !important;
    margin-left: -1rem !important;
    margin-bottom: -2.5vw !important;
  }

  .footer_bottom-left-side {
    flex: 1 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: flex-end !important;
    gap: 5vw !important;
  }

  .footer_bottom-img-wrapper {
    display: none !important;
    /* Removed as requested */
  }

  .footer_bottom-img {
    border-radius: 8px !important;
  }

  .footer_bottom-terms-wrapper {
    text-align: right !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 2rem !important;
    margin-bottom: 2rem !important;
  }

  .footer_bottom-terms-wrapper .p.white {
    font-size: 0.9rem !important;
    opacity: 0.5 !important;
    white-space: nowrap !important;
  }

  /* --- Header Desktop Fix --- */
  body .nav_links-list {
    display: flex !important;
    flex-direction: row !important;
    gap: 3rem !important;
    visibility: visible !important;
    margin-top: -0.1rem !important;
    /* Align with logo top */
    margin-right: auto !important;
    /* Push contact button to far right */
    margin-left: 15vw !important;
    /* Shift menu left towards logo */
  }

  body .nav_link-block {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    margin: 0 !important;
  }

  body .logo-text {
    font-size: 4.5vw !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: -0.04em !important;
  }

  body .nav_button-wrapper {
    margin-top: -1.0rem !important;
    /* Visually align button with menu */
  }

  .nav_contain {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 3rem 5rem 3rem !important;
    /* Increased top/left/right air */
  }

  /* Keep the logo at the edge while pushing other elements in */
  .nav_logo-wrapper {
    margin-top: -3.0rem !important;
    margin-left: -4.5rem !important;
  }

  /* Align core philosophy text with logo's "N" */
  .hero_top-info {
    padding-left: 2.5rem !important;
    padding-right: 5rem !important;
  }

  /* --- Hero Image Scaling --- */
  .hero_bottom-case-wrap {
    width: 195% !important;
    /* Make image 15% larger */
    margin-left: -1.5% !important;
    /* Center the enlarged image */
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  }

  .her-case-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

.w-form-done,
.w-form-fail {
  display: none;
}

@media screen and (min-width: 992px) {
  .hide-desktop {
    display: none !important;
  }
}

@media screen and (max-width: 991px) {

  .hide,
  .hide-tablet {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .hide-mobile-landscape {
    display: none !important;
  }
}

@media screen and (max-width: 479px) {
  .hide-mobile {
    display: none !important;
  }
}

.margin-0 {
  margin: 0rem !important;
}

.padding-0 {
  padding: 0rem !important;
}

.spacing-clean {
  padding: 0rem !important;
  margin: 0rem !important;
}

.margin-top {
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-top {
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}

.margin-right {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-right {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}

.margin-bottom {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.padding-bottom {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.margin-left {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-left {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-horizontal {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-horizontal {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-vertical {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.padding-vertical {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.section_about .word {
  display: inline-block;
  transform: translate(100vw, 0);
}

/* Works: stack details */
.works-left .works_wrapper {
  position: relative;
  height: 100%;
}

.works-left .work-detail {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* Works titles */
.works-titles .h2_works {
  color: rgba(255, 255, 255, 0.35);
  transition: color .2s linear;
}

.works-titles .h2_works.is-active {
  color: #fff;
}

@media (max-width: 991px) {
  .works-titles .h2_works {
    cursor: pointer;
  }

  .works-titles .work_h2-case-wrapper.mobile {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows 0.45s ease, opacity 0.3s ease;
  }

  .works-titles .work_h2-case-wrapper.mobile>.work-detail {
    overflow: hidden;
    min-height: 0;
  }

  .works-titles .work_h2-wrapper.is-open .work_h2-case-wrapper.mobile {
    grid-template-rows: 1fr;
    opacity: 1;
  }

  .works-titles .work_h2-wrapper.is-open .work-detail {
    display: block !important;
    opacity: 1 !important;
  }

  .works-titles .work_h2-wrapper .h2_works {
    transition: color .25s linear;
  }

  .works-titles .work_h2-wrapper.is-open .h2_works {
    color: #fff;
  }

  .nav_mobile-wrap {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1000 !important;
    display: none;
    /* JS will set to flex */
    flex-direction: column !important;
    background-color: #000 !important;
    pointer-events: none;
  }

  .nav_mobile-wrap.is-open {
    display: flex !important;
    pointer-events: auto !important;
  }

  .nav_mobile-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 2rem !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .nav_mobile-bg-holder {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
  }

  .nav_mobile-li {
    list-style: none !important;
    margin-bottom: 2rem !important;
  }

  .nav_mobile-link {
    font-size: 2.5rem !important;
    font-weight: 500 !important;
    color: #fff !important;
    text-decoration: none !important;
  }

  .nav_mobile-cta {
    margin-top: auto !important;
    padding: 2rem !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  }
}


@media (min-width: 992px) {
  .works-titles {
    padding-top: 50vh;
    padding-bottom: 50vh;
  }
}

/* Year digits */
.works-year {
  display: inline-flex;
  gap: 0.02em;
}

.works-year__digit {
  display: inline-block;
}

/* Form split stability */
.form_step .word {
  display: inline-block;
}

.form_step .char {
  display: inline-block;
}

.section_long-title .letter {
  display: inline-block;
}

/* Preloader lock */
html.is-preloading,
body.is-preloading {
  overflow: hidden;
}

.form_step-ratio-item:has(input[type="radio"]:checked) {
  background: #777777;
}

.form_step-ratio-item:has(input[type="radio"]:checked) .w-form-label {
  color: #ffffff;
}

/* Consent Pro banner */
.consent_components {
  position: relative;
  z-index: 9999 !important;
}



[fs-cc-gpc="false"] [fs-cc-element="gpc-honored"] {
  display: none;
}

/* Split Text Stability */
[class*="gsap_split_letter"],
[class*="gsap_split_word"] {
  display: inline-block !important;
  white-space: nowrap !important;
  vertical-align: baseline;
  margin: 0 !important;
  padding: 0 !important;
}

.gsap_split_line {
  display: block !important;
}

.hero_line_outer {
  overflow: hidden !important;
  display: block !important;
}

.button-main {
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), background-color 0.4s ease !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  height: 38px !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  padding: 0 1.5rem !important;
  width: auto !important;
  min-width: 140px !important;
}

.button-main .button-text {
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.4s ease !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 0 10px !important;
}

.button-main:hover .button-text {
  transform: translateY(-100%) !important;
}

.button-main:hover {
  transform: scale(1.05) !important;
}

/* Consent Pro banner */
.consent_components {
  position: relative;
  z-index: 9999 !important;
}

[fs-cc-element="banner"],
[fs-cc-element="preferences"] {
  opacity: 0;
  display: none;
  transition: opacity 300ms ease, transform 300ms ease, display 300ms allow-discrete;
}

/* Force show the preference icon */
[fs-cc-element="fixed-preferences"] {
  opacity: 1 !important;
  display: block !important;
  position: fixed !important;
  bottom: 20px !important;
  left: 20px !important;
  z-index: 99999 !important;
}

[fs-cc-element="banner"][fs-cc-active],
[fs-cc-element="preferences"][fs-cc-active] {
  opacity: 1;
  display: block;
}

/* Font Face — Keep */
@font-face {
  font-family: 'General Sans';
  src: url('https://cdn.prod.website-files.com/66387c0fa39192a87e403b2a/66387f75d54b235e278891ec_GeneralSans-Variable.ttf') format('truetype');
  font-weight: 100 900;
  font-display: swap;
  font-style: normal;
}

:root {
  --font-main: "General Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --color-white: #ffffff;
  --color-dim: rgba(255, 255, 255, 0.35);
}

body {
  font-family: var(--font-main);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.h1,
.h2,
.h3,
.p {
  font-family: var(--font-main);
}



/* Preloader Final State - Let JS control display */
.preloader {
  opacity: 1;
  visibility: visible;
}

.preloader-percent {
  font-variant-numeric: tabular-nums !important;
}

/* Logo Text Styles */
.logo-img {
  height: 7.2rem;
  width: auto;
  display: block;
  object-fit: contain;
}

@media (max-width: 991px) {
  .logo-img {
    height: 5.8rem;
    /* Scaled down for mobile */
  }
}


.logo-text {
  font-family: var(--font-main);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--color-white);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 991px) {
  .logo-text {
    font-size: 1.8rem;
  }
}

.preloader-video {
  width: clamp(200px, 30vw, 400px);
  height: auto;
  display: block;
  margin: 0 auto;
}

@media screen and (max-width: 991px) {
  .preloader-video {
    width: 180px;
  }
}

@media screen and (max-width: 991px) {

  /* --- Global Viewport Lock --- */
  * {
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  html,
  body {
    width: 100% !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Reset all fixed-width containers from polish.css */
  body .page-wrapper,
  body .main-wrapper,
  body .container-global,
  body .section_hero,
  body .section_about,
  body .section_services,
  body .section_works,
  body .section_team,
  body .section_footer,
  body .about-text {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    height: auto !important;
    inset: auto !important;
    overflow: visible !important;
  }

  body .section_hero,
  body .padding-global.is-hero,
  body .hero_wrapper,
  body .hero_top,
  body .nav_wrapper,
  body .nav_contain {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body .nav_contain {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    /* Push burger to the right */
    align-items: center !important;
    min-height: 4.5rem !important;
    padding: 0 5vw !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  body .nav_logo-wrapper {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    z-index: 10 !important;
    width: auto !important;
  }

  /* Remove legacy nayak logo icon from mobile header */
  body .nav_logo-wrapper::before {
    display: none !important;
  }

  body .logo-text {
    font-size: 2.4rem !important;
    /* Slightly smaller for centered balance */
    letter-spacing: -0.04em !important;
    font-weight: 500 !important;
    text-transform: none !important;
    text-align: center !important;
    color: #fff !important;
  }

  body .nav_button-wrapper {
    width: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    padding: 0 !important;
    gap: 8px !important;
    /* Tighter gap like Nayak */
  }

  body .nav_links-list,
  body .nav_link-block {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
  }

  body .nav_button-wrapper .button-main {
    display: none !important;
    /* Remove contact button from mobile */
  }

  body .button-text {
    font-size: 13px !important;
    line-height: 1 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    font-weight: 500 !important;
    color: #000 !important;
  }

  body .nav_button-burger {
    display: none !important;
    /* Removed as requested */
  }

  body .nav_button-burger img {
    width: 100% !important;
    height: 100% !important;
    filter: brightness(0) invert(1) !important;
    /* Force to crisp white */
    display: block !important;
  }

  /* --- About Section Mobile Fix --- */
  body .section_about,
  body .section_about > .padding-global,
  body .section_about .pin-height {
    height: 200vh !important; /* Snappier scroll reveal for mobile */
    position: relative !important;
    background-color: #000 !important;
  }

  body .section_about {
    padding: 4rem 0 !important;
  }

  body .container-global.is-about {
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 8vw !important; /* More horizontal breathing room */
    overflow: hidden !important;
    z-index: 5 !important;
  }

  body .about-text {
    width: 100% !important;
    display: block !important;
    font-size: clamp(1.05rem, 4vw, 1.25rem) !important; /* Reduced to ensure all points fit */
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
  }

  body .about-point {
    position: relative !important;
    padding-left: 1.5rem !important;
    margin-bottom: 0.8rem !important; /* Further tightened to save vertical space */
  }

  body .about-point::before {
    position: absolute !important;
    left: 0 !important;
    top: 0.15em !important; /* Align with first line of text */
    margin-right: 0 !important;
    opacity: 0.4 !important;
  }

  body .about-text .word {
    text-align: left !important;
    display: inline-block !important;
    white-space: normal !important;
  }

  /* --- Services Section Mobile Fix --- */
  body .section_services {
    padding: 0 !important;
    /* Remove section padding so slides can span full width */
    background-color: #000 !important;
  }

  body .section_services .service_slide {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin-bottom: 0 !important;
    /* Stack seamlessly without gaps */
    top: auto !important;
    left: auto !important;
    transform: none !important;
  }

  body .section_services .content-wrapper {
    height: auto !important;
    display: block !important;
    position: relative !important;
    transform: none !important;
  }

  body .section_services .slider-pic_wrapper {
    width: 100% !important;
    height: auto !important;
    margin-top: 3rem !important;
    display: block !important;
  }

  body .section_services .slider-pic_wrapper img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  body .section_services .slide-content {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    padding: 2rem 5vw !important;
    /* Inner padding keeps text safe, lets background touch screen edge */
    background-color: #fff !important;
    /* Theme 1: White */
    border: none !important;
    color: #000 !important;
  }

  /* Theme 2: Medium Grey (Card 2) */
  body .section_services .slide-content.is-black {
    background-color: #8a8a8a !important;
    color: #000 !important;
  }

  /* Theme 3: Dark Grey (Card 3) */
  body .section_services .slide-content.is-grey {
    background-color: #222 !important;
    color: #fff !important;
  }

  body .section_services .slide-content.is-grey .p,
  body .section_services .slide-content.is-grey .p.black,
  body .section_services .slide-content.is-grey .p.black._60 {
    color: #fff !important;
    opacity: 1 !important;
  }

  body .section_services .slide-top {
    padding: 3rem 0 2rem !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.8) !important;
  }

  body .section_services .slide-content.is-grey .slide-top {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
  }

  body .section_services .h2_slide {
    font-size: 15vw !important;
    /* Massive responsive typography */
    line-height: 0.9 !important;
    letter-spacing: -0.05em !important;
    color: inherit !important;
    /* Inherits from slide-content */
    width: 85% !important;
    margin: 0 !important;
    position: relative !important;
  }

  body .section_services .slide-number {
    font-size: 2.5rem !important;
    line-height: 0.9 !important;
    color: inherit !important;
    opacity: 0.4 !important;
    /* Dimmed index number */
    margin: 0 !important;
  }

  /* --- Works Title Mobile Fix --- */
  body .h2_works {
    font-size: 10vw !important;
    /* Reduced from 14vw for better fit */
    line-height: 1 !important;
    white-space: normal !important;
  }

  body .section_services .slide-bottom {
    padding: 2rem 0 4rem !important;
    display: block !important;
    width: 100% !important;
    background-color: transparent !important;
    /* Remove the white box from polish.css */
  }

  body .section_services .slide-lable-wrapper .p.black,
  body .section_services .slide-lable-wrapper .p.white {
    font-family: var(--font-label) !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    font-weight: 700 !important;
    padding: 4px 12px !important;
    border: 1px solid rgba(128, 128, 128, 0.4) !important;
    border-radius: 100px !important;
    display: inline-block !important;
    margin-bottom: 2rem !important;
    line-height: 1 !important;
  }

  body .section_services .slider-info_wrapper .p.black._60 {
    font-size: 16px !important;
    line-height: 1.4 !important;
    color: inherit !important;
    opacity: 0.7 !important;
    /* Dimmed body text */
    margin-bottom: 1rem !important;
    display: block !important;
  }

  /* --- Footer Mobile Fix (2-Column Parity) --- */
  body .section_footer {
    width: 100% !important;
    padding: 1rem 20px 1rem !important;
    /* Reduced significantly for tighter mobile layout */
    display: block !important;
  }

  body .footer_top-wrapper {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3rem !important;
    align-items: start !important;
  }

  body .footer_top-column {
    width: 100% !important;
    margin-bottom: 0 !important;
    display: block !important;
    text-align: left !important;
  }

  body .footer_link-wrap {
    width: 100% !important;
    display: block !important;
    margin-bottom: 1rem !important;
    text-align: left !important;
  }

  body .footer_link-text {
    font-size: 16px !important;
    position: relative !important;
    display: inline-block !important;
    left: 0 !important;
    top: 0 !important;
    text-align: left !important;
    opacity: 0.8 !important;
  }

  body .footer_bottom-wrapper {
    display: block !important;
    width: 100% !important;
    position: relative !important;
    margin-top: 2rem !important;
    /* Reduced from 6rem */
    grid-template-columns: none !important;
    padding: 0 !important;
  }

  body .footer_bottom-left-side {
    width: 100% !important;
    display: block !important;
    margin: 0 0 0 0 !important;
    /* Reduced from 4rem */
    grid-column: auto !important;
    text-align: left !important;
    position: relative !important;
    left: 0 !important;
    inset: auto !important;
  }

  body .footer_bottom-terms-wrapper {
    width: 100% !important;
    display: block !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .footer_bottom-terms-wrapper .footer_link-list {
    display: block !important;
    width: 100% !important;
    margin-bottom: 2rem !important;
    text-align: left !important;
  }

  body .footer_bottom-terms-wrapper .footer_link-list a {
    display: block !important;
    margin-bottom: 0.8rem !important;
    text-align: left !important;
    width: 100% !important;
    font-size: 14px !important;
    opacity: 0.6 !important;
  }

  body .footer_bottom-img-wrapper {
    display: none !important;
  }

  body .footer_logo-text-wrapper {
    width: 100% !important;
    display: block !important;
    margin-top: 1rem !important;
    /* Reduced from 4rem */
    text-align: left !important;
  }

  body .footer_logo-img {
    height: 4.5rem !important;
    width: auto !important;
    margin-bottom: 2rem !important;
    margin-left: 20px !important;
    /* Match container padding */
    display: block !important;
    object-fit: contain !important;
  }

  /* --- Team Cards Mobile Fix --- */
  body .team_cards {
    display: block !important;
    padding: 6rem 20px !important;
  }

  body .team-card_wrapper {
    width: 100% !important;
    max-width: 280px !important;
    /* Smaller to prevent cut-off */
    margin: 0 auto 4rem !important;
    position: relative !important;
    display: block !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
  }

  /* Deleted conflicting legacy mobile rules to allow new table rebuild to function */

  /* --- TESTIMONIALS SECTION (UNLEASHED) --- */
  .section_testimonials {
    background-color: #000 !important;
    padding: 10rem 0 !important;
    width: 100% !important;
    color: #fff !important;
  }

  /* Deleted conflicting legacy mobile rules to allow new table rebuild to function */