.elementor-31166 .elementor-element.elementor-element-3d2a3d2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-31166 .elementor-element.elementor-element-4f8be07{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}/* Start custom CSS for html, class: .elementor-element-a9c50e6 */.site-ft {
        --lime: var(--rich);
        --lime-deep: var(--rich-deep);
        --mark: rgba(23, 23, 23, 0.06);
        background-color: #edebe3;
        background-image: var(--tex-warm);
        background-size: var(--tex-size);
        background-position: center top;
        background-repeat: var(--tex-repeat);
        color: var(--ink);
        font-family: var(--font);
        -webkit-font-smoothing: antialiased;
        padding: clamp(64px, 8vw, 104px) clamp(20px, 5vw, 64px);
        overflow: hidden;
      }
      .site-ft .ft-wrap {
        max-width: var(--container);
        margin: 0 auto;
      }

      .site-ft .ft-top {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        column-gap: 48px;
        row-gap: 64px;
      }
      .site-ft .ft-brand {
        grid-column: 1;
        grid-row: 1;
        margin: 0;
        font-size: clamp(46px, 13vw, 196px);
        line-height: 0.9;
        font-weight: 900;
        letter-spacing: -0.04em;
        color: var(--mark);
        white-space: nowrap;
        user-select: none;
      }

      .site-ft .ft-nav {
        grid-column: 1;
        grid-row: 2;
        align-self: end;
        display: flex;
        flex-wrap: wrap;
        gap: 32px;
      }
      .site-ft .ft-nav a {
        position: relative;
        color: var(--ink);
        text-decoration: none;
        font-size: 16px;
        font-weight: 500;
        padding-bottom: 4px;
      }
      .site-ft .ft-nav a::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 2px;
        background: var(--lime);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.22s ease;
      }
      .site-ft .ft-nav a:hover::after,
      .site-ft .ft-nav a:focus-visible::after {
        transform: scaleX(1);
      }

      .site-ft .ft-social {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: end;
        justify-self: end;
        display: flex;
        flex-direction: column;
        gap: 16px;
      }
      .site-ft .ft-social a {
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        color: var(--muted);
        text-decoration: none;
        font-size: 16px;
        transition: color 0.25s ease;
      }
      .site-ft .ft-social a svg {
        width: 16px;
        height: 16px;
        transition: transform 0.25s ease;
      }
      .site-ft .ft-social a:hover,
      .site-ft .ft-social a:focus-visible {
        color: var(--ink);
      }
      .site-ft .ft-social a:hover svg,
      .site-ft .ft-social a:focus-visible svg {
        transform: translate(2px, -2px);
      }

      .site-ft .ft-divider {
        border: 0;
        border-top: 1px solid var(--line);
        margin: 40px 0;
      }

      .site-ft .ft-bottom {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
      }
      .site-ft .ft-credit {
        color: var(--muted);
        font-size: 14px;
      }
      .site-ft .ft-legal {
        display: flex;
        gap: 40px;
      }
      .site-ft .ft-legal a {
        color: var(--muted);
        font-size: 14px;
        text-decoration: underline;
        text-underline-offset: 4px;
        text-decoration-color: #c4c9cf;
        transition:
          color 0.25s ease,
          text-decoration-color 0.25s ease;
      }
      .site-ft .ft-legal a:hover,
      .site-ft .ft-legal a:focus-visible {
        color: var(--ink);
        text-decoration-color: var(--ink);
      }

      .site-ft a:focus-visible {
        outline: 2px solid var(--lime-deep);
        outline-offset: 3px;
        border-radius: 4px;
      }

      @media (max-width: 768px) {
        .site-ft .ft-top {
          grid-template-columns: minmax(0, 1fr);
          grid-template-rows: auto auto auto;
          row-gap: 32px;
        }
        .site-ft .ft-brand {
          grid-row: 1;
        }
        .site-ft .ft-social {
          grid-column: 1;
          grid-row: 2;
          justify-self: start;
          align-self: start;
        }
        .site-ft .ft-social a {
          justify-content: flex-start;
        }
        .site-ft .ft-nav {
          grid-row: 3;
        }
        .site-ft .ft-bottom {
          flex-direction: column;
          align-items: flex-start;
          gap: 24px;
        }
        .site-ft .ft-legal {
          flex-wrap: wrap;
          gap: 24px;
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .site-ft * {
          transition: none !important;
        }
      }

      /* ===== footer (v2: big wordmark, icon social above legal) ===== */
      .ft-brandrow {
        margin-bottom: clamp(40px, 5vw, 56px);
      }
      .ft-logo {
        display: inline-block;
        font-family: var(--font);
        font-weight: 900;
        letter-spacing: -0.04em;
        text-transform: none;
        color: rgba(23, 23, 23, 0.09);
        text-decoration: none;
        font-size: clamp(52px, 13vw, 184px);
        line-height: 0.9;
        white-space: nowrap;
      }
      .ft-cols {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 0;
      }
      .ft-col {
        border-left: 1px solid var(--line);
        padding: 2px 0 2px clamp(20px, 2vw, 32px);
      }
      .ft-col__h {
        margin: 0 0 22px;
        font-family: var(--font);
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--ink);
      }
      .ft-col ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 15px;
      }
      .ft-col li {
        line-height: 1.3;
      }
      .ft-col a {
        color: var(--ink-soft);
        font-size: 14px;
        text-decoration: none;
        transition: color 0.2s ease;
      }
      .ft-col a:hover {
        color: var(--rich-deep);
      }
      .ft-divider {
        border: 0;
        border-top: 1px solid var(--line);
        margin: clamp(44px, 5vw, 60px) 0 24px;
      }
      .ft-bottom {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px 32px;
        flex-wrap: wrap;
      }
      .ft-credit {
        color: var(--muted);
        font-family: var(--mono);
        font-size: 12px;
      }
      .ft-bottomleft {
        display: flex;
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
      }
      .site-ft .ft-social {
        display: flex;
        flex-direction: row;
        gap: 10px;
        grid-column: auto;
        grid-row: auto;
        justify-self: auto;
        align-self: auto;
      }
      .site-ft .ft-social a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: 999px;
        border: 1px solid var(--line);
        color: var(--ink-soft);
        background: transparent;
        transition:
          color 0.2s ease,
          border-color 0.2s ease,
          background-color 0.2s ease;
      }
      .site-ft .ft-social a:hover,
      .site-ft .ft-social a:focus-visible {
        color: var(--rich-deep);
        border-color: var(--rich-deep);
        background: rgba(143, 184, 33, 0.08);
      }
      .site-ft .ft-social a svg {
        width: 18px;
        height: 18px;
        transform: none;
      }
      .site-ft .ft-social a:hover svg,
      .site-ft .ft-social a:focus-visible svg {
        transform: none;
      }
      .ft-legal {
        display: flex;
        gap: 24px;
        flex-wrap: wrap;
        justify-content: flex-start;
      }
      .ft-legal a {
        color: var(--muted);
        font-size: 12px;
        text-decoration: none;
        transition: color 0.2s ease;
      }
      .ft-legal a:hover {
        color: var(--rich-deep);
      }
      @media (max-width: 1000px) {
        .ft-cols {
          grid-template-columns: repeat(3, 1fr);
          row-gap: 44px;
        }
      }
      @media (max-width: 640px) {
        .ft-cols {
          grid-template-columns: repeat(2, 1fr);
          row-gap: 36px;
        }
        .ft-col {
          padding-left: clamp(16px, 4vw, 22px);
        }
        .ft-bottom {
          align-items: flex-start;
        }
      }
      @media (max-width: 380px) {
        .ft-cols {
          grid-template-columns: 1fr;
        }
        .ft-col {
          border-left: 0;
          padding-left: 0;
        }
      }/* End custom CSS */