/* ========== FOOTER ========== */
    .site-footer,
    .yarchi-footer {
      position: relative;
      display: block;
      width: 100%;
      max-width: none !important;
      min-width: 100%;
      margin-top: var(--section-space);
      margin-right: 0;
      margin-bottom: 0;
      margin-left: 0;
      padding: 0;
      background: var(--yarchi-dark);
      color: var(--yarchi-surface-elevated);
      border-radius: 0;
      overflow: hidden;
      box-sizing: border-box;
    }

    .site-footer__inner,
    .yarchi-footer-inner {
      width: min(
        calc(100% - (var(--yarchi-gutter) * 2)),
        var(--yarchi-content)
      );
      max-width: var(--yarchi-content);
      margin-inline: auto;
      padding:
        clamp(58px, 7vw, 96px)
        0
        clamp(28px, 3vw, 44px);
      box-sizing: border-box;
      background: transparent;
    }

    .footer-cta {
      padding-bottom: 28px;
      margin-bottom: 28px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      position: relative;
    }

    .footer-cta::before {
      content: "";
      position: absolute;
      left: 0;
      top: -1px;
      height: 1px;
      width: 0;
      background: rgba(255, 255, 255, 0.28);
      transition: width 1.1s var(--ease-soft);
    }

    .footer-cta.is-revealed::before {
      width: 100%;
    }

    .footer-cta__title {
      font-size: clamp(42px, 5vw, 76px);
      line-height: 0.95;
      letter-spacing: -0.04em;
      font-weight: 600;
      color: var(--yarchi-surface-elevated);
      margin: 0 0 18px;
      max-width: 12ch;
    }

    .footer-grid {
      display: grid;
      grid-template-columns:
        minmax(280px, 1.5fr)
        repeat(3, minmax(140px, 0.7fr));
      gap: clamp(28px, 5vw, 72px);
      margin-bottom: 36px;
    }

    .footer-brand {
      font-size: clamp(22px, 2.4vw, 32px);
      font-weight: 600;
      letter-spacing: -0.03em;
      color: var(--yarchi-surface-elevated);
      margin-bottom: 12px;
    }

    .footer-col h4 {
      margin: 0 0 14px;
      font-size: 11px;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: rgba(248, 244, 238, 0.42);
    }

    .footer-col a,
    .footer-col p {
      display: block;
      margin: 0 0 10px;
      font-size: 14px;
      color: rgba(248, 244, 238, 0.78);
    }

    .footer-col a:hover {
      color: #fff;
    }

    .footer-bottom {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 22px;
      justify-content: space-between;
      padding-top: 22px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      font-size: 12px;
      color: rgba(248, 244, 238, 0.42);
    }

    
/* ========== RESPONSIVE ========== */
    @media (max-width: 1280px) {
      :root {
        --yarchi-content: 1120px;
        --yarchi-gutter: 36px;
      }

      .yarchi-hero-title {
        font-size: clamp(42px, 4.5vw, 64px);
      }

      .yarchi-studio-grid {
        gap: clamp(32px, 4vw, 64px);
      }

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

      .nav-desktop {
        gap: 12px;
      }
    }

    @media (max-width: 1024px) {
      :root {
        --yarchi-content: 920px;
        --yarchi-gutter: 28px;
      }

      .yarchi-hero-intro {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
        gap: clamp(28px, 4vw, 56px);
      }

      .yarchi-studio-grid {
        gap: clamp(28px, 3.5vw, 48px);
      }

      .yarchi-studio-media-main {
        height: clamp(420px, 42vw, 560px);
      }

      .yarchi-project-featured,
      .yarchi-project-wide {
        grid-template-columns: minmax(0, 1.35fr) minmax(240px, 0.55fr);
      }

      .yarchi-approach-layout {
        grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
        gap: clamp(32px, 5vw, 72px);
      }

      .yarchi-approach-media,
      .approach__media {
        height: clamp(280px, 30vw, 380px);
        max-height: 380px;
      }

      .yarchi-service-row,
      .service-row {
        grid-template-columns: 44px minmax(160px, 0.7fr) minmax(200px, 1.3fr) 72px 22px;
        gap: 16px;
      }

      .yarchi-hero-layer-motion--left {
        width: 145px;
        left: 22px;
        bottom: 24px;
      }

      .yarchi-hero-layer-motion--right {
        width: 150px;
        right: 22px;
        top: 22px;
      }

      .yarchi-hero-layer-motion--panel {
        width: 215px;
        right: 22px;
        bottom: 22px;
      }

      .yarchi-instagram-fallback,
      .yarchi-instagram-grid,
      .yarchi-instagram-plugin-host.is-ready > .yarchi-instagram-grid-adapter {
        grid-template-columns: repeat(8, minmax(0, 1fr));
        grid-auto-rows: clamp(120px, 12vw, 160px);
      }

      .yarchi-instagram-post:nth-child(1) {
        grid-column: 1 / span 4;
        grid-row: span 2;
      }

      .yarchi-instagram-post:nth-child(2),
      .yarchi-instagram-post:nth-child(3),
      .yarchi-instagram-post:nth-child(4),
      .yarchi-instagram-post:nth-child(5),
      .yarchi-instagram-post:nth-child(6) {
        grid-column: span 4;
        grid-row: span 1;
      }

      .yarchi-reviews-header {
        grid-template-columns:
          minmax(0, 1fr)
          minmax(240px, 0.5fr);
        gap: clamp(28px, 4vw, 56px);
      }

      .yarchi-review-card {
        flex-basis: clamp(280px, 42vw, 360px);
      }
    }

    @media (max-width: 900px) {
      .yarchi-hero-intro {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 24px;
      }

      .yarchi-hero-copy {
        justify-self: start;
        max-width: 100%;
      }

      .yarchi-studio-grid,
      .yarchi-project-featured,
      .yarchi-project-wide,
      .yarchi-project-grid,
      .yarchi-approach-layout,
      .yarchi-contact-grid {
        grid-template-columns: 1fr;
      }

      .yarchi-reviews-header {
        grid-template-columns: 1fr;
        gap: 20px;
      }

      .yarchi-reviews-header-copy {
        justify-self: start;
        max-width: 100%;
      }

      .yarchi-approach-layout {
        gap: 30px;
      }

      .yarchi-approach-title {
        font-size: clamp(34px, 5vw, 50px);
      }

      .yarchi-studio-media {
        grid-template-columns: minmax(0, 1.4fr) minmax(120px, 190px);
      }

      .yarchi-studio-media-main {
        height: clamp(400px, 52vw, 520px);
        max-height: 520px;
      }

      .yarchi-approach-media,
      .approach__media {
        height: clamp(300px, 55vw, 400px);
        max-height: 400px;
      }

      .contact-form {
        justify-self: stretch;
        max-width: none;
      }

      .yarchi-service-row,
      .service-row {
        grid-template-columns: 44px 1fr 72px 22px;
      }

      .service-row__desc {
        grid-column: 2 / 4;
        grid-row: 2;
      }

      .service-row__title {
        grid-column: 2;
        grid-row: 1;
      }
    }

    @media (max-width: 767px) {
      :root {
        --yarchi-content: none;
        --yarchi-gutter: 18px;
        --yarchi-section-y: 56px;
        --yarchi-section-y-small: 40px;
        --header-h: 56px;
      }

      .yarchi-shell {
        width: calc(100% - 36px);
        max-width: none;
      }

      .site-header__inner,
      .yarchi-header-track {
        gap: 0;
        width: calc(100% - 36px);
        max-width: none;
      }

      .yarchi-liquid-layer {
        display: none !important;
      }

      .yarchi-header-track::before {
        opacity: 1 !important;
        border-radius: 16px !important;
      }

      .yarchi-header-content {
        gap: 0;
      }

      .glass-bar--right,
      .yarchi-header-secondary {
        display: none;
      }

      .glass-bar--left,
      .yarchi-header-primary {
        width: 100%;
        justify-content: space-between;
        border-radius: 16px !important;
        transform: none !important;
      }

      .glass-bar--left::before,
      .yarchi-header-primary::before {
        opacity: 0 !important;
      }

      .yarchi-header-track::before {
        opacity: 1 !important;
        background: none;
        background-image: none;
        background-color: rgba(15, 19, 21, 0.42);
        border: 1px solid var(--header-glass-border);
        box-shadow: var(--header-glass-shadow);
        backdrop-filter: blur(22px) saturate(125%);
        -webkit-backdrop-filter: blur(22px) saturate(125%);
      }

      .site-header.is-joined .glass-bar--left,
      .yarchi-header.is-joined .yarchi-header-primary {
        border-radius: 16px !important;
      }

      .nav-desktop {
        display: none;
      }

      .menu-toggle {
        display: inline-flex;
      }

      .mobile-drawer {
        display: block;
      }

      .yarchi-hero {
        padding: 104px 0 42px;
      }

      .yarchi-hero-title {
        font-size: clamp(38px, 11vw, 50px);
      }

      .yarchi-hero-perspective {
        height: clamp(320px, 92vw, 420px);
        transform: none !important;
      }

      .yarchi-hero-scene {
        perspective: none;
      }

      .yarchi-hero-media {
        border-radius: 18px;
      }

      .yarchi-hero-layer-motion {
        transform: none !important;
      }

      .yarchi-hero-layer-motion--left {
        width: 105px;
        left: 14px;
        bottom: 14px;
      }

      .yarchi-hero-layer-motion--right {
        display: none;
      }

      .yarchi-hero-layer-motion--panel {
        width: min(180px, 58vw);
        right: 14px;
        bottom: 14px;
      }

      .yarchi-hero-project-panel {
        padding: 14px;
      }

      .yarchi-hero-project-panel:hover {
        transform: none;
      }

      .yarchi-hero-floating-card--left,
      .yarchi-hero-floating-card--right {
        transform: none;
      }

      .yarchi-hero-layer-motion--line {
        display: none;
      }

      .yarchi-studio-grid,
      .yarchi-studio-cols,
      .yarchi-studio-media,
      .yarchi-studio-stats,
      .yarchi-approach-layout,
      .yarchi-contact-grid,
      .yarchi-project-featured,
      .yarchi-project-grid,
      .yarchi-project-wide,
      .form-grid,
      .footer-grid {
        grid-template-columns: 1fr;
      }

      .yarchi-review-marquee {
        --review-duration: 30s;
        --review-gap: 10px;
        padding-inline: clamp(14px, 4vw, 24px);
        -webkit-mask-image:
          linear-gradient(
            to right,
            transparent 0,
            #000 clamp(28px, 6vw, 48px),
            #000 calc(100% - clamp(28px, 6vw, 48px)),
            transparent 100%
          );
        mask-image:
          linear-gradient(
            to right,
            transparent 0,
            #000 clamp(28px, 6vw, 48px),
            #000 calc(100% - clamp(28px, 6vw, 48px)),
            transparent 100%
          );
      }

      .yarchi-review-card {
        flex-basis: min(82vw, 320px);
        min-height: 178px;
        padding: 16px;
        border-radius: 14px;
      }

      .yarchi-review-card blockquote {
        font-size: 15px;
        margin: 8px 0 14px;
      }

      .yarchi-review-footer {
        padding-top: 10px;
      }

      .yarchi-approach-title {
        max-width: 100%;
        font-size: clamp(32px, 9vw, 44px);
      }

      #yarchi-process-ui .process-trigger {
        min-height: 72px;
        grid-template-columns:
          28px
          minmax(0, 1fr)
          28px;
        gap: 10px;
        padding: 13px 14px;
      }

      #yarchi-process-ui .process-description {
        display: none;
      }

      #yarchi-process-ui .process-content-inner {
        padding: 0 46px 0 52px;
      }

      #yarchi-process-ui .process-chevron {
        width: 28px;
        height: 28px;
      }

      .yarchi-studio-media-main {
        height: 420px;
        max-height: 420px;
      }

      .yarchi-studio-media-detail {
        max-width: 190px;
        justify-self: start;
      }

      .yarchi-service-row,
      .service-row {
        grid-template-columns: 38px 1fr 62px;
        padding-block: 16px;
        gap: 12px;
        min-height: 0;
      }

      .service-row__desc {
        grid-column: 2 / -1;
        grid-row: 2;
      }

      .service-row__thumb {
        width: 62px;
        height: 44px;
        grid-column: 3;
        grid-row: 1;
      }

      .service-row__arrow {
        display: none;
      }

      .service-row__title {
        font-size: 18px;
      }

      .yarchi-instagram-header {
        grid-template-columns: 1fr;
        gap: 22px;
        align-items: start;
      }

      .yarchi-instagram-header-meta {
        justify-self: start;
        max-width: 100%;
      }

      .yarchi-instagram-fallback,
      .yarchi-instagram-grid,
      .yarchi-instagram-grid-adapter,
      .yarchi-instagram-plugin-host.is-ready > .yarchi-instagram-grid-adapter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;
        gap: 10px;
      }

      .yarchi-instagram-post,
      .yarchi-instagram-post:nth-child(1),
      .yarchi-instagram-post:nth-child(2),
      .yarchi-instagram-post:nth-child(3),
      .yarchi-instagram-post:nth-child(4),
      .yarchi-instagram-post:nth-child(5),
      .yarchi-instagram-post:nth-child(6) {
        grid-column: auto !important;
        grid-row: auto !important;
        aspect-ratio: 1 / 1;
      }

      .yarchi-instagram-post:first-child {
        grid-column: span 2 !important;
        aspect-ratio: 16 / 10;
      }

      .yarchi-approach-media,
      .approach__media {
        height: 360px;
        max-height: 360px;
      }

      .lightbox__nav {
        display: none;
      }

      .footer-cta__title {
        font-size: clamp(36px, 10vw, 52px);
      }

      .site-footer__inner,
      .yarchi-footer-inner {
        width: calc(100% - 36px);
        max-width: none;
      }

      .yarchi-footer {
        margin-top: var(--yarchi-section-y);
      }
    }

    @media (max-width: 480px) {
      .yarchi-hero-title {
        font-size: clamp(34px, 10vw, 44px);
      }

      .yarchi-section-title,
      .heading-section,
      .section-title,
      .yarchi-studio-title,
      .yarchi-approach-title,
      .contact__title {
        font-size: clamp(30px, 8vw, 38px);
      }

      #yarchi-process-ui .process-accordion {
        border-radius: 14px;
      }

      #yarchi-process-ui .process-title {
        font-size: 16px;
      }

      #yarchi-process-ui .process-number {
        font-size: 9px;
      }

      #yarchi-process-ui .process-trigger {
        min-height: 64px;
        padding: 12px;
      }

      #yarchi-process-ui .process-content-inner {
        padding: 0 28px 0 40px;
      }

      #yarchi-process-ui .process-content-inner > p {
        font-size: 14px;
      }

      .yarchi-instagram-fallback,
      .yarchi-instagram-grid,
      .yarchi-instagram-grid-adapter,
      .yarchi-instagram-plugin-host.is-ready > .yarchi-instagram-grid-adapter {
        gap: 8px;
      }

      .yarchi-instagram-post {
        border-radius: 10px;
      }

      .yarchi-instagram-overlay {
        padding: 10px;
      }

      .yarchi-instagram-post-caption {
        font-size: clamp(13px, 3.6vw, 14px);
      }

      .yarchi-instagram-post-arrow {
        right: 12px;
        top: 12px;
        font-size: 16px;
      }

      .yarchi-review-card {
        flex-basis: 84vw;
        min-height: 168px;
        padding: 14px;
        border-radius: 13px;
      }

      .yarchi-review-card blockquote {
        font-size: clamp(15px, 4.2vw, 16px);
        margin: 8px 0 12px;
      }

      .yarchi-review-stars {
        margin-top: 10px;
      }

      .yarchi-review-footer {
        padding-top: 8px;
      }

      .yarchi-review-avatar {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        font-size: 9px;
      }

      .yarchi-hero-layer-motion--left,
      .yarchi-hero-layer-motion--right {
        display: none;
      }

      .yarchi-hero-layer-motion--panel {
        position: static;
        width: 100%;
        max-width: 100%;
        margin-top: 12px;
        transform: none !important;
      }

      .yarchi-hero-project-panel:hover {
        transform: none;
      }

      .yarchi-hero-perspective {
        height: clamp(280px, 78vw, 360px);
      }

      .hero__panel-meta {
        gap: 6px 10px;
        font-size: 12px;
      }

      .yarchi-studio-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .stat-card {
        padding: 14px 12px;
      }

      .contact-form {
        padding: 18px;
      }

      .btn,
      .yarchi-button--dark {
        max-width: 100%;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html:focus-within {
        scroll-behavior: auto;
      }

      [data-reveal],
      .yarchi-hero-video,
      .yarchi-hero-image-fallback,
      .media-zoom img,
      .service-row__thumb img,
      .service-row__arrow,
      #yarchi-process-ui .process-item,
      #yarchi-process-ui .process-content,
      #yarchi-process-ui .process-chevron,
      .glass-bar,
      .site-header__inner,
      .yarchi-header-primary,
      .yarchi-header-secondary {
        transition: none !important;
      }
    }
  

/* AURA FOOTER THEME */
.elementor-widget-yarchi-footer .yarchi-footer,
.elementor-widget-yarchi-footer .site-footer {
  background: var(--yarchi-dark);
  color: var(--yarchi-light);
}
.elementor-widget-yarchi-footer a {
  color: rgba(248, 244, 238, 0.62);
}
.elementor-widget-yarchi-footer a:hover {
  color: var(--yarchi-accent-soft);
}
.elementor-widget-yarchi-footer .footer-cta__title {
  font-family: var(--yarchi-font-heading) !important;
  color: var(--yarchi-light) !important;
}
