/* ==========================================================================
   FinApt Group — Responsive Breakpoints (Premium Redesign)
   Large Desktop (≤1440px), Tablet (≤1024px), Small Tablet (≤768px),
   Mobile (≤480px), Small Mobile (≤375px)
   ========================================================================== */

/* ══════════════════════════════════════════════════════════════════════
   LARGE DESKTOP — ≤ 1200px
   ══════════════════════════════════════════════════════════════════════ */

@media (max-width: 1200px) {
  .hero__inner {
    grid-template-columns: 1.2fr 0.8fr;
    gap: var(--space-5);
  }

  .hero__stat-number {
    font-size: 34px;
  }

  .services-bento {
    gap: var(--space-2);
  }
}


/* ══════════════════════════════════════════════════════════════════════
   TABLET — ≤ 1024px
   ══════════════════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {

  :root {
    --fs-h1: 44px;
    --fs-h2: 34px;
    --fs-h3: 28px;
  }

  /* Header & Nav Tablet Adjustment */
  .nav {
    gap: var(--space-3);
  }

  .nav__links {
    gap: var(--space-3);
  }

  .section, .why-process-section, .services-overview, .about-snapshot,
  .testimonials-section, .global-presence, .cta-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .section-sm {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .section-lg {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  /* Hero */
  .hero__inner {
    grid-template-columns: 1fr;
    gap: var(--space-6);
    text-align: center;
  }

  .hero__content {
    max-width: 640px;
    margin: 0 auto;
  }

  .hero__credentials {
    justify-content: center;
  }

  .hero__subtitle {
    margin-left: auto;
    margin-right: auto;
  }

  .hero__actions {
    justify-content: center;
  }

  .hero__stats {
    max-width: 480px;
    margin: 0 auto;
  }

  /* Trust Bar */
  .trust-bar__grid {
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-2);
  }

  .trust-bar__item:not(:last-child)::after {
    display: none;
  }

  /* Problem */
  .problem-section {
    padding: 48px 0;
  }

  .problem-section__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .problem-card--featured {
    border-left: 3px solid var(--color-accent-5);
  }

  /* About */
  .about-snapshot__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .about-snapshot__image-wrap {
    max-height: 400px;
  }

  .about-snapshot__image {
    max-height: 360px;
  }

  .about-snapshot__image-secondary {
    width: 40%;
    bottom: -16px;
    right: -16px;
  }

  /* Services Bento */
  .service-card--hero {
    grid-column: span 2;
  }

  .services-bento {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Industry */
  .industry-card {
    flex: 0 0 calc(50% - (var(--space-3) / 2));
    min-width: 0;
  }

  /* Why + Process */
  .why-finapt__grid {
    gap: var(--space-2);
  }

  /* Global Presence & Affiliation */
  .global-affiliation__grid,
  .global-presence__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .global-presence__image {
    max-height: 360px;
  }

  /* CTA */
  .cta-section__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .cta-section__image {
    max-height: 360px;
  }

  /* Footer */
  .footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-5);
  }

  /* Contact Page */
  .contact-grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }
}


/* ══════════════════════════════════════════════════════════════════════
   SMALL TABLET / LARGE MOBILE — ≤ 768px
   ══════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

  :root {
    --fs-h1: 34px;
    --fs-h2: 28px;
    --fs-h3: 24px;
    --fs-h4: 22px;
    --fs-body: 16px;
    --fs-small: 14px;
    --space-16: 60px;
    --space-14: 48px;
  }

  /* Header & Logo Mobile Polish */
  .header {
    padding: 8px 0 !important;
  }

  .header--solid {
    padding: 5px 0 !important;
  }

  .header__logo img {
    height: 27px !important;
  }

  .header--solid .header__logo img {
    height: 25px !important;
  }

  .header__affiliation {
    font-size: 7px !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
  }

  .header__affiliation-line:last-child {
    letter-spacing: 0.08em !important;
  }

  /* Compact Section & Header Spacing on Mobile/Tablet */
  .section, .why-process-section, .services-overview,
  .testimonials-section, .global-presence, .cta-section,
  .problem-section, .cga-cta-section, .fa-cta-section, .erm-cta-section {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }

  .section-sm {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  .section-lg {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .section-header {
    margin-bottom: 22px !important;
  }

  .section-header.centered {
    text-align: center !important;
  }

  .section-header.centered .overline {
    justify-content: center !important;
  }

  .section-header h2 {
    margin-bottom: 6px !important;
  }

  .section-header p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .page-header,
  .page-header--tall,
  .page-tdd .page-header--tall {
    padding-top: calc(var(--header-height) + 24px) !important;
    padding-bottom: 32px !important;
  }

  .page-header h1,
  .page-header--tall h1 {
    font-size: clamp(24px, 6vw, 32px) !important;
    margin-bottom: 8px !important;
  }

  .page-header p,
  .page-header--tall p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .cta-banner {
    padding: 0 !important;
  }

  .cta-banner__content h2 {
    font-size: clamp(22px, 5.5vw, 28px) !important;
  }

  .cta-banner__content p {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }

  .cta-banner__actions {
    flex-direction: column !important;
    width: 100% !important;
    gap: 10px !important;
  }

  .cta-banner__actions .btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .blog-cta-section {
    padding: 40px 0 60px 0 !important;
  }

  .blog-cta-card {
    padding: 32px 20px !important;
  }

  .blog-cta-card__actions {
    flex-direction: column !important;
    width: 100% !important;
    gap: 12px !important;
  }

  .blog-cta-card__actions .btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Navigation — Luxury Mobile Slide-out Drawer */
  .nav__links {
    position: fixed !important;
    top: 0 !important;
    right: -100% !important;
    width: 320px !important;
    max-width: 85vw !important;
    height: 100vh !important;
    background: #0b1523 !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 85px 20px 40px !important;
    gap: 0 !important;
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.6) !important;
    transition: right 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    z-index: 9999 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  .nav__links--open {
    right: 0 !important;
  }

  .nav__links li {
    width: 100% !important;
  }

  .nav__link-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .nav__links .nav__link {
    color: #e2e8f0 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 16px 0 !important;
    width: 100% !important;
    display: block !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    transition: color 0.2s ease !important;
  }

  .nav__link-wrap .nav__link {
    border-bottom: none !important;
  }

  .nav__link--active,
  .nav__links .nav__link:hover {
    color: var(--color-accent-3) !important;
  }

  .nav__mega-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border: none !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border-radius: 8px !important;
    color: var(--color-accent-3) !important;
    cursor: pointer !important;
    transition: transform 0.3s ease, background 0.3s ease !important;
  }

  .nav__mega-toggle svg {
    width: 18px !important;
    height: 18px !important;
  }

  .nav__mega-toggle--active {
    transform: rotate(180deg) !important;
    background: rgba(89, 179, 207, 0.2) !important;
  }

  .nav__toggle {
    display: block !important;
    z-index: 10000 !important;
  }

  .nav__cta {
    display: none !important;
  }

  /* Mobile Drawer CTA & Quick Contact Block */
  .nav__mobile-cta-wrap {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin-top: 24px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    gap: 16px !important;
  }

  .nav__mobile-cta {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    padding: 14px 20px !important;
    box-shadow: 0 4px 16px rgba(0, 84, 158, 0.3) !important;
  }

  .nav__mobile-quick-contact {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .nav__mobile-quick-contact a {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    color: #cbd5e1 !important;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease !important;
  }

  .nav__mobile-quick-contact a:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
  }

  .nav__mobile-quick-contact svg {
    width: 16px !important;
    height: 16px !important;
    color: var(--color-accent-3) !important;
    flex-shrink: 0 !important;
  }

  /* Mega Menu — Collapsible Mobile Accordion */
  .nav__item.mega { 
    width: 100% !important; 
  }

  .fah-mega {
    position: static !important;
    transform: none !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
  }

  .fah-mega--open {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    max-height: none !important;
    padding: 12px 0 16px 12px !important;
    border-left: 2px solid var(--color-accent-3) !important;
    margin-top: 8px !important;
    margin-bottom: 12px !important;
  }

  .fah-mega-inner { 
    max-width: 100% !important; 
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .fah-mega-grid-top,
  .fah-mega-grid-bottom {
    display: flex !important;
    flex-direction: column !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 16px !important;
  }

  .fah-mega-col {
    padding: 0 !important;
    border: none !important;
    margin-bottom: 0 !important;
  }

  .fah-mega-col-head {
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 12px 14px !important;
    color: #e2e8f0 !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border-radius: 8px !important;
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    cursor: pointer !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    white-space: normal !important;
    word-break: break-word !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .fah-mega-col-head svg {
    display: none !important;
  }

  .fah-mega-col-head::after {
    content: '' !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid var(--color-accent-3) !important;
    border-bottom: 2px solid var(--color-accent-3) !important;
    transform: rotate(45deg) !important;
    transition: transform 0.25s ease !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
  }

  .fah-mega-col--open .fah-mega-col-head {
    background: rgba(89, 179, 207, 0.12) !important;
    color: var(--color-accent-3) !important;
    border-color: rgba(89, 179, 207, 0.3) !important;
    margin-bottom: 8px !important;
  }

  .fah-mega-col--open .fah-mega-col-head::after {
    transform: rotate(-135deg) !important;
  }

  /* Sub-services hidden by default on mobile */
  .fah-mega-col .fah-mega-link,
  .fah-mega-col .fah-flyout-wrap {
    display: none !important;
  }

  /* Expand sub-services when category is open */
  .fah-mega-col--open .fah-mega-link,
  .fah-mega-col--open .fah-flyout-wrap {
    display: block !important;
  }

  .fah-mega-link {
    color: #cbd5e1 !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
    display: block !important;
    border-left: 1px solid rgba(255, 255, 255, 0.15) !important;
    margin-left: 12px !important;
    transition: color 0.2s ease, padding-left 0.2s ease !important;
  }

  /* Services Page Accordion Cards Mobile Optimization */
  .services-list {
    grid-template-columns: 1fr !important;
  }

  .accordion__header {
    padding: var(--space-3) 16px !important;
  }

  .accordion__header h3 {
    font-size: 1.1rem !important;
  }

  .fah-mega-link:hover {
    color: #fff !important;
    padding-left: 16px !important;
  }

  .fah-flyout-trigger,
  .fah-flyout-trigger:link,
  .fah-flyout-trigger:visited {
    color: #e2e8f0 !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    cursor: pointer !important;
    border-left: 2px solid var(--color-accent-3) !important;
    margin-left: 12px !important;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border-radius: 4px !important;
    margin-bottom: 4px !important;
  }

  .fah-flyout-trigger svg {
    width: 14px !important;
    height: 14px !important;
    stroke: var(--color-accent-3) !important;
    fill: none !important;
    stroke-width: 2.5 !important;
    flex-shrink: 0 !important;
    transition: transform 0.25s ease !important;
  }

  .fah-flyout-wrap--open .fah-flyout-trigger {
    color: var(--color-accent-3) !important;
    background: rgba(89, 179, 207, 0.1) !important;
  }

  .fah-flyout-wrap--open .fah-flyout-trigger svg {
    transform: rotate(180deg) !important;
  }

  .fah-flyout-panel {
    display: none !important;
  }

  .fah-flyout-wrap--open .fah-flyout-panel {
    display: block !important;
  }

  .fah-flyout-inner {
    padding-left: 12px !important;
    border-left: 1px solid var(--color-accent-3) !important;
    margin: 4px 0 8px 20px !important;
  }

  .fah-flyout-link {
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    padding: 6px 0 !important;
    display: block !important;
  }

  /* About Us Mega Menu — Mobile Drawer */
  .fah-mega--about .fah-about-editorial {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  .fah-about-editorial__firm {
    padding-right: 0 !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding-bottom: 16px !important;
  }

  .fah-about-editorial__overline {
    color: var(--color-accent-3) !important;
  }

  .fah-about-editorial__title {
    color: #ffffff !important;
    font-size: 17px !important;
  }

  .fah-about-editorial__desc {
    color: #cbd5e1 !important;
    font-size: 12.5px !important;
  }

  .fah-about-editorial__link {
    color: #e2e8f0 !important;
    font-size: 12.5px !important;
  }

  .fah-about-editorial__link svg {
    color: var(--color-accent-3) !important;
  }

  .fah-about-editorial__cta {
    color: var(--color-accent-3) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
  }

  .fah-about-editorial__head {
    border-color: rgba(255, 255, 255, 0.12) !important;
  }

  .fah-about-editorial__head-title {
    color: #ffffff !important;
    font-size: 14.5px !important;
  }

  .fah-about-editorial__viewall {
    color: var(--color-accent-3) !important;
  }

  .fah-about-editorial__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .fah-exec-card {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    padding: 10px 12px !important;
  }

  .fah-exec-card__portrait {
    border-color: rgba(255, 255, 255, 0.2) !important;
    width: 52px !important;
    height: 62px !important;
  }

  .fah-exec-card__name {
    color: #ffffff !important;
    font-size: 13.5px !important;
  }

  .fah-exec-card__role {
    color: var(--color-accent-3) !important;
    font-size: 11px !important;
  }

  .fah-exec-card__dept {
    color: #cbd5e1 !important;
    font-size: 11.5px !important;
  }

  .fah-exec-card__cred {
    color: #94a3b8 !important;
    font-size: 10.5px !important;
  }

  /* Hero — Stacked */
  .hero {
    min-height: auto;
    padding-top: 0;
  }

  .hero__inner {
    grid-template-columns: 1fr;
    gap: var(--space-5);
    padding-top: calc(var(--header-height) + var(--space-6));
    padding-bottom: var(--space-8);
  }

  .hero__title {
    font-size: clamp(30px, 7vw, 38px);
    line-height: 1.12;
  }

  .hero__subtitle {
    font-size: var(--fs-small);
    line-height: 1.65;
  }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-1);
    width: 100%;
  }

  .hero__actions .btn {
    text-align: center;
    justify-content: center;
  }

  .hero__stats {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2);
    max-width: 100%;
  }

  .hero__stat-card {
    padding: var(--space-3) var(--space-2);
  }

  .hero__stat-icon {
    display: none;
  }

  .hero__stat-title {
    font-size: 13px;
    line-height: 1.3;
  }

  /* Trust Bar — Hidden on Mobile */
  .trust-bar {
    display: none;
  }

  /* Problem */
  .problem-section__grid {
    grid-template-columns: 1fr;
  }

  .problem-card--featured {
    border-left-width: 3px;
    padding: var(--space-4);
  }

  .problem-card--featured h4 {
    font-size: var(--fs-h5);
  }

  /* About */
  .about-snapshot__grid {
    grid-template-columns: 1fr;
  }

  .about-snapshot__image-wrap {
    order: -1;
  }

  .about-snapshot__image {
    max-height: 280px;
    border-radius: var(--card-radius);
  }

  .about-snapshot__image-secondary {
    width: 35%;
    bottom: -12px;
    right: -8px;
    border-width: 3px;
  }

  .about-snapshot__accent { display: none; }

  .about-snapshot__credentials {
    justify-content: flex-start;
  }

  .about-snapshot__content h2,
  .about-snapshot__content .overline,
  .about-snapshot__content p {
    text-align: left;
  }

  .about-snapshot__content .overline {
    justify-content: flex-start;
  }

  .about-snapshot__link {
    justify-content: flex-start;
  }

  /* Services Bento */
  .services-bento {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .service-card--hero {
    grid-column: span 1;
  }

  .service-card--hero .service-card__title {
    font-size: var(--fs-h4);
  }

  /* Industry */
  .industry-card {
    flex: 0 0 100%;
    min-width: 0;
    padding: var(--space-3);
  }

  /* Why + Process */
  .why-finapt__grid {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .why-finapt__item {
    padding: var(--space-2);
  }

  .process-timeline {
    padding-left: var(--space-6);
  }

  .process-timeline__line {
    left: 18px;
  }

  .process-step__node {
    width: 44px;
    height: 44px;
    font-size: var(--fs-h5);
  }

  /* Testimonials — Left Aligned on Mobile */
  .testimonials-section--bigfour .section-header {
    text-align: left;
  }

  .testimonials-section--bigfour .section-header .overline {
    justify-content: flex-start;
  }

  .testimonials-section--bigfour .section-header p {
    margin-left: 0;
  }

  .testimonial-card--executive {
    padding: var(--space-3) var(--space-3);
    text-align: left;
  }

  .testimonial-card__text {
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
  }

  .testimonial-card__footer {
    justify-content: flex-start;
  }

  .testimonials__controls {
    justify-content: flex-start;
    gap: var(--space-2);
  }

  .testimonials__btn {
    width: 36px;
    height: 36px;
  }

  /* Global Presence & Affiliation */
  .global-affiliation {
    padding: 56px 0;
  }

  .global-affiliation__grid,
  .global-presence__grid {
    grid-template-columns: 1fr;
  }

  .global-presence__image {
    max-height: 280px;
  }

  /* CTA */
  .cta-section__grid {
    grid-template-columns: 1fr;
  }

  .cta-section__content {
    text-align: left;
  }

  .cta-section__content .overline {
    justify-content: flex-start;
  }

  .cta-section__actions {
    justify-content: flex-start;
    flex-direction: column;
    gap: var(--space-1);
  }

  .cta-section__actions .btn {
    width: 100%;
    justify-content: center;
  }

  .cta-section__image {
    max-height: 280px;
  }

  /* Footer — Guaranteed 2-Column Mobile Grid */
  .footer__grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 16px !important;
    text-align: left !important;
    padding-bottom: 24px !important;
  }

  .footer__brand,
  .footer__col--brand,
  .footer__grid > div:first-child {
    grid-column: 1 / -1 !important;
    text-align: left !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding-bottom: 16px !important;
    margin-bottom: 8px !important;
  }

  .footer__brand p,
  .footer__desc {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }

  .footer__logo {
    display: flex !important;
    justify-content: flex-start !important;
  }

  .footer__social {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 12px !important;
  }

  .footer__heading,
  .footer__title {
    text-align: left !important;
    margin-bottom: 12px !important;
    font-size: 12px !important;
    color: var(--color-accent-3) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
  }

  .footer__links {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 8px !important;
  }

  .footer__link,
  .footer__links a {
    font-size: 13px !important;
    text-align: left !important;
    display: block !important;
  }

  .footer__contact-col,
  .footer__col:last-child,
  .footer__grid > div:last-child {
    grid-column: 1 / -1 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding-top: 16px !important;
    margin-top: 8px !important;
    text-align: left !important;
  }

  .footer__contact-item {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
    font-size: 13px !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  .footer__contact-item svg,
  .footer__contact-list li svg {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    flex-shrink: 0 !important;
    color: var(--color-accent-3) !important;
    margin-top: 2px !important;
  }

  .footer__contact-item a {
    color: rgba(255, 255, 255, 0.75) !important;
    text-decoration: none !important;
    word-break: break-word !important;
  }

  .footer__contact-item a:hover {
    color: var(--color-accent-3) !important;
  }

  .footer__bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    text-align: left !important;
    padding-top: 16px !important;
  }

  .footer__bottom-links {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 16px !important;
  }

  /* Back to Top */
  .back-to-top {
    width: 42px;
    height: 42px;
    bottom: var(--space-3);
    right: var(--space-3);
  }

  /* Contact Page Mobile Fix */
  .contact-page {
    overflow-x: hidden;
  }

  .contact-grid {
    grid-template-columns: 1fr !important;
    gap: var(--space-6) !important;
  }

  .form-row {
    grid-template-columns: 1fr !important;
    gap: var(--space-3) !important;
  }

  .contact-form-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .contact-form-wrapper > p {
    font-size: var(--fs-small);
    line-height: 1.5;
    word-break: break-word;
  }

  .contact-form {
    width: 100% !important;
  }

  .contact-form .btn {
    width: 100% !important;
  }
}


/* ══════════════════════════════════════════════════════════════════════
   MOBILE — ≤ 480px
   ══════════════════════════════════════════════════════════════════════ */

@media (max-width: 480px) {

  :root {
    --fs-h1: 28px;
    --fs-h2: 24px;
    --fs-h3: 22px;
    --fs-h4: 20px;
    --space-16: 48px;
    --space-14: 40px;
  }

  body {
    font-size: 15px;
  }

  .container {
    padding-left: var(--space-2);
    padding-right: var(--space-2);
  }

  /* Compact Section & Header Spacing on Small Mobile */
  .section, .why-process-section, .services-overview,
  .testimonials-section, .global-presence, .cta-section,
  .problem-section, .cga-cta-section, .fa-cta-section, .erm-cta-section {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .section-sm {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  .section-lg {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  .section-header {
    margin-bottom: 16px !important;
  }

  .page-header,
  .page-header--tall,
  .page-tdd .page-header--tall {
    padding-top: calc(var(--header-height) + 16px) !important;
    padding-bottom: 24px !important;
  }

  /* Hero */
  .hero__inner {
    padding-top: calc(var(--header-height) + var(--space-4));
    padding-bottom: var(--space-6);
    gap: var(--space-4);
  }

  .hero__title {
    font-size: clamp(26px, 7vw, 32px);
    line-height: 1.14;
  }

  .hero__credentials {
    font-size: 11px;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .hero__stat-card {
    padding: var(--space-2) var(--space-2);
  }

  /* Problem Cards */
  .problem-card {
    padding: var(--space-3);
  }

  .problem-card--featured {
    padding: var(--space-3);
  }

  .problem-card h4 {
    font-size: var(--fs-h6);
  }

  /* Services */
  .service-card--hero .service-card__icon {
    width: 52px;
    height: 52px;
    border-radius: 12px;
  }

  .service-card--hero .service-card__icon svg {
    width: 26px;
    height: 26px;
  }

  /* Industry */
  .industry-card {
    width: 260px;
  }

  /* Process */
  .process-timeline {
    padding-left: var(--space-5);
  }

  .process-timeline__line {
    left: 14px;
  }

  .process-step__node {
    width: 36px;
    height: 36px;
    font-size: var(--fs-h6);
  }

  .process-step__content h4 {
    font-size: var(--fs-h6);
    padding-top: 2px;
  }

  /* Testimonials */
  .testimonial-card {
    padding: var(--space-4) var(--space-2);
  }

  .testimonial-card__text {
    font-size: 16px;
    line-height: 1.65;
  }

  .testimonial-card__quote-mark {
    font-size: 56px;
  }

  .testimonials__counter {
    font-size: 11px;
  }

  .testimonials__progress {
    width: 80px;
  }

  /* CTA */
  .cta-section__content h2 {
    font-size: var(--fs-h3);
  }

  /* Credential badges */
  .credential-badge {
    font-size: 11px;
    padding: 4px 8px;
    gap: 3px;
  }

  .credential-badge svg {
    width: 12px;
    height: 12px;
  }
}


/* ══════════════════════════════════════════════════════════════════════
   SMALL MOBILE — ≤ 375px (iPhone SE, etc.)
   ══════════════════════════════════════════════════════════════════════ */

@media (max-width: 375px) {

  :root {
    --fs-h1: 26px;
    --fs-h2: 22px;
    --fs-h3: 20px;
  }

  .header__logo img {
    height: 28px !important;
  }

  .header__affiliation {
    font-size: 6.5px !important;
  }

  .hero__stats {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }

  .hero__stat-number {
    font-size: 22px;
  }

  .hero__stat-label {
    font-size: 9px;
  }

  .problem-section__stack {
    gap: var(--space-2);
  }

  .why-finapt__icon {
    width: 40px;
    height: 40px;
  }

  .why-finapt__icon svg {
    width: 20px;
    height: 20px;
  }

  .testimonial-card__text {
    font-size: 15px;
  }
}


/* ══════════════════════════════════════════════════════════════════════
   PREFERS REDUCED MOTION
   ══════════════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .reveal--clip {
    clip-path: none;
    transition: none;
  }

  .hero__credentials,
  .hero__title,
  .hero__subtitle,
  .hero__actions,
  .hero__stats {
    opacity: 1;
    animation: none;
  }

  .testimonials__track {
    transition: none;
  }
}
