
    :root {
      --c0: #5A1F1B;
      --c1: #3e1512;
      --c2: #6b2622;
      --ink: #1e0a09;
      --white: #f7f3ee;
      --off: #e8e2d9;
      --gold: #c9a96e;
      --gold-lt: #e8d5b0;
      --t70: rgba(247, 243, 238, .70);
      --t45: rgba(247, 243, 238, .45);
      --t25: rgba(247, 243, 238, .25);
      --t12: rgba(247, 243, 238, .12);
      --t06: rgba(247, 243, 238, .06);
      --t03: rgba(247, 243, 238, .03);
      --ease-expo: cubic-bezier(0.16, 1, 0.3, 1);
      --ease-quart: cubic-bezier(0.76, 0, 0.24, 1);
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0
    }

    html {
      scroll-behavior: smooth
    }

    body {
      font-family: 'DM Sans', sans-serif;
      background: var(--c1);
      color: var(--white);
      overflow-x: hidden;
    }

    a {
      text-decoration: none;
      color: inherit
    }

    img {
      display: block;
      width: 100%;
      height: 100%;
      /* object-fit: cover */
    }

    body::before {
      content: '';
      position: fixed;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");
      pointer-events: none;
      z-index: 9000;
      opacity: .35;
    }

    .sec {
      position: relative
    }

    .hdg {
      font-size: clamp(22px, 2.8vw, 36px);
      font-weight: 700;
      color: var(--td);
      line-height: 1.2;
      margin-bottom: 24px;
    }

    .rv {
      animation: revealUp .9s var(--ease-expo) both;
    }

    @keyframes revealUp {
      from {
        opacity: 0;
        transform: translateY(36px)
      }

      to {
        opacity: 1;
        transform: none
      }
    }

    .rv.from-left {
      animation-name: revealLeft
    }

    .rv.from-right {
      animation-name: revealRight
    }

    .rv.scale-in {
      animation-name: revealScale
    }

    @keyframes revealLeft {
      from {
        opacity: 0;
        transform: translateX(-36px)
      }

      to {
        opacity: 1;
        transform: none
      }
    }

    @keyframes revealRight {
      from {
        opacity: 0;
        transform: translateX(36px)
      }

      to {
        opacity: 1;
        transform: none
      }
    }

    @keyframes revealScale {
      from {
        opacity: 0;
        transform: scale(.93)
      }

      to {
        opacity: 1;
        transform: scale(1)
      }
    }

    .d1 {
      animation-delay: .15s
    }

    .d2 {
      animation-delay: .28s
    }

    .d3 {
      animation-delay: .40s
    }

    .d4 {
      animation-delay: .52s
    }

    #who .rv {
      animation-delay: calc(var(--d, 0s) + .3s)
    }

    #who .rv.d1 {
      --d: .15s
    }

    #who .rv.d2 {
      --d: .28s
    }

    #who .rv.d3 {
      --d: .40s
    }

    #principles .rv {
      animation-delay: calc(var(--d, 0s) + .2s)
    }

    #principles .rv.d1 {
      --d: .1s
    }

    #principles .rv.d2 {
      --d: .22s
    }

    #principles .rv.d3 {
      --d: .34s
    }

    #serve .rv {
      animation-delay: calc(var(--d, 0s) + .2s)
    }

    #serve .rv.d1 {
      --d: .08s
    }

    #serve .rv.d2 {
      --d: .16s
    }

    #serve .rv.d3 {
      --d: .24s
    }

    #serve .rv.d4 {
      --d: .32s
    }

    #why .rv {
      animation-delay: calc(var(--d, 0s) + .2s)
    }

    #why .rv.d1 {
      --d: .1s
    }

    #why .rv.d2 {
      --d: .2s
    }

    #why .rv.d3 {
      --d: .3s
    }

    #why .rv.d4 {
      --d: .4s
    }

    #cta .rv {
      animation-delay: .3s
    }

    .hero-video {
      position: relative;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }

    .hero-video__media {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 0;
      /* subtle zoom-out on load */
      animation: heroZoom 14s ease-out both;
    }

    @keyframes heroZoom {
      from {
        transform: scale(1.1)
      }

      to {
        transform: scale(1)
      }
    }

    .hero-video__overlay {
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
        linear-gradient(to bottom, rgba(20, 6, 5, .18) 0%, rgba(62, 21, 18, .6) 50%, rgba(20, 6, 5, .92) 100%),
        linear-gradient(to right, rgba(20, 6, 5, .4) 0%, transparent 65%);
    }

    .hero-video__overlay::after {
      content: '';
      position: absolute;
      inset: 0;
      background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0, 0, 0, .025) 2px, rgba(0, 0, 0, .025) 4px);
      pointer-events: none;
    }

    /* .hero-video__content {
      position: relative;
      z-index: 2;
      text-align: center;
      padding: 2rem 1.5rem;
      max-width: 920px;
      margin: 0 auto;
    } */

    .who {
      background: #fff;
      position: relative;
      overflow: hidden;
    }

    .who::before {
      content: '';
      position: absolute;
      top: -180px;
      right: -180px;
      width: 680px;
      height: 680px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(201, 169, 110, .042), transparent 65%);
      pointer-events: none;
      animation: blobDrift 12s ease-in-out infinite alternate;
    }

    @keyframes blobDrift {
      from {
        transform: translate(0, 0) scale(1)
      }

      to {
        transform: translate(-30px, 20px) scale(1.08)
      }
    }

    .who__line {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 1px;
      background: linear-gradient(to bottom, transparent, var(--t06) 30%, var(--t06) 70%, transparent);
    }

    .who__line::after {
      content: '';
      position: absolute;
      left: 56px;
      top: 0;
      bottom: 0;
      width: 1px;
      background: linear-gradient(to bottom, transparent, var(--t03) 40%, var(--t03) 60%, transparent);
    }

    .istack {
      position: relative;
      /* height: 560px */
    }

    @media(max-width:991px) {
      .istack {
        /* height: 300px;
        margin-bottom: 3rem */
      }
    }

    .istack__main {
      /* position: absolute;
      inset: 0;
      border: 1px solid var(--t12);
      filter: grayscale(22%) brightness(.82) contrast(1.06);
      transition: filter .7s; */
    }

    .istack:hover .istack__main {
      filter: grayscale(0%) brightness(.88) contrast(1.06)
    }

    .pquote {
      /* margin-top: 16px;
      padding: 2rem 2.2rem 2rem 2.8rem;
      background: rgba(201, 169, 110, .04);
      border: 1px solid rgba(201, 169, 110, .12);
      border-left: 3px solid var(--gold);
      position: relative;
      overflow: hidden; */
      background: linear-gradient(135deg, #3d1512, #3d1512);
      border-radius: 18px;
      padding: 30px 32px;
      position: relative;
      overflow: hidden;
      margin-left: 0px;
      color: #fff;
    }

    .pquote::before {
      content: "“";
      position: absolute;
      top: -8px;
      left: 14px;
      font-size: 110px;
      color: rgb(196 145 64 / 8%);
      line-height: 1;
      pointer-events: none;
    }

    .pquote p {
      font-size: clamp(16px, 2vw, 20px);
      font-style: italic;
      color: rgba(255, 255, 255, .92);
      line-height: 1.6;
      position: relative;
      z-index: 1;
    }

    /* .who p {
      font-size: .92rem;
      line-height: 1.92;
      color: #000;
      font-weight: 300
    }

    */

    .who p+p {
      margin-top: 1rem
    }

    .principles {
      background: var(--c1);
      position: relative;
      overflow: hidden
    }

    .principles::before {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      background-image:
        radial-gradient(circle, rgba(201, 169, 110, .18) 1px, transparent 1px);
      background-size: 44px 44px;
      mask-image: radial-gradient(ellipse 75% 55% at 50% 50%, black, transparent);
      animation: gridShift 20s linear infinite;
    }

    @keyframes gridShift {
      from {
        background-position: 0 0
      }

      to {
        background-position: 44px 44px
      }
    }

    .principles__hdr {
      text-align: center;
      margin-bottom: 20px;
      position: relative;
      z-index: 2
    }

    .pc {
      padding: 3rem 2.4rem;
      background: linear-gradient(148deg, rgba(247, 243, 238, .03), rgba(247, 243, 238, .008));
      border: 1px solid rgba(201, 169, 110, .1);
      position: relative;
      overflow: hidden;
      cursor: default;
      height: 100%;
      transition: background .5s, border-color .5s, transform .4s var(--ease-expo), box-shadow .4s;
    }

    .pc::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 2px;
      height: 0;
      background: linear-gradient(to bottom, var(--gold), rgba(201, 169, 110, .2));
      transition: height .65s var(--ease-expo);
      z-index: 2;
    }

    .pc:hover {
      border-color: rgba(201, 169, 110, .28);
      background: linear-gradient(148deg, rgba(247, 243, 238, .055), rgba(247, 243, 238, .015));
      transform: translateY(-5px);
      box-shadow: 0 24px 60px rgba(0, 0, 0, .25), 0 0 0 1px rgba(201, 169, 110, .06);
    }

    .pc:hover::before {
      height: 100%
    }

    .pc__fill {
      position: absolute;
      inset: 0;
      background: linear-gradient(112deg, rgba(201, 169, 110, .07), transparent 58%);
      transform: translateX(-112%);
      transition: transform .65s var(--ease-quart);
    }

    .pc:hover .pc__fill {
      transform: translateX(0)
    }

    .pc__ico {
      width: 66px;
      height: 66px;
      border-radius: 50%;
      border: 1px solid rgba(201, 169, 110, .22);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 30px;
      color: #ffffff;
      margin-bottom: 10px;
      background: rgba(201, 169, 110, .05);
      transition: all .42s var(--ease-expo);
      position: relative;
      z-index: 1;
      text-align: center;
      margin: auto;
    }

    .pc:hover .pc__ico {
      background: #fff;
      color: var(--ink);
      border-color: var(--gold);
      transform: rotate(16deg) scale(1.12);
      box-shadow: 0 8px 26px rgba(201, 169, 110, .32);
    }

    .pc__ttl {

      font-size: 22px;
      font-weight: 400;
      margin-bottom: 6px;
      color: var(--white);
      position: relative;
      z-index: 1;
      margin-top: 14px;
      text-align: center;
    }

    .pc__txt {
      font-size: 16px;
      line-height: 1.92;
      color: #fff;
      font-weight: 300;
      position: relative;
      text-align: center;
      z-index: 1;
    }

    .serve {
      /* background: linear-gradient(175deg, var(--c0), var(--c1)); */
      position: relative;
      overflow: hidden;
    }

    .serve::before {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: repeating-linear-gradient(-52deg, transparent, transparent 44px,
          rgba(201, 169, 110, .014) 44px, rgba(201, 169, 110, .014) 45px);
    }

    .serve p {
      font-size: 18px;
      line-height: 28px;

      /* font-weight: 300 */
    }

    .st {
      padding: 2rem 1.8rem;
      background: #571f1b;
      border: 1px solid rgba(201, 169, 110, .09);
      border-radius: 12px;
      height: 100%;
      position: relative;
      overflow: hidden;
      cursor: default;
      transition: transform .42s var(--ease-expo), border-color .42s, box-shadow .42s, background .42s;
    }

    .st::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, var(--gold), transparent 80%);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .52s var(--ease-expo);
    }

    .st:hover {
      transform: translateY(-7px);
      border-color: rgba(201, 169, 110, .28);
      background: linear-gradient(155deg, rgba(247, 243, 238, .065), rgba(247, 243, 238, .018));
      box-shadow: 0 22px 55px rgba(0, 0, 0, .3);
    }

    .st:hover::after {
      transform: scaleX(1)
    }

    .st__glow {
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 25% 25%, rgba(201, 169, 110, .09), transparent 62%);
      opacity: 0;
      transition: opacity .4s;
      pointer-events: none;
    }

    .st:hover .st__glow {
      opacity: 1
    }

    .st__ico {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      border: 1px solid rgba(201, 169, 110, .22);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 25px;
      color: #ffffff;
      margin-bottom: 10px;
      background: rgba(201, 169, 110, .05);
      transition: all .42s var(--ease-expo);
      position: relative;
      z-index: 1;
      margin: auto;
      text-align: center;
      /* padding-bottom: 10px; */
      margin-bottom: 10px;
    }

    .st:hover .st__ico {
      background: #58201c;
      color: #ffffff;
      border-color: #fffcf6;
      transform: rotate(13deg) scale(1.12);
      box-shadow: 0 7px 22px rgba(201, 169, 110, .32);
    }

    .st__name {

      font-size: 20px;
      font-weight: 400;
      margin-bottom: .48rem;
      color: var(--white);
      position: relative;
      z-index: 1;
      text-align: center;
    }

    .st__visas {
      font-size: 14px;
      /* letter-spacing: .12em; */
      /* text-transform: uppercase; */
      color: #fff;
      /* opacity: .72; */
      line-height: 1.82;
      position: relative;
      z-index: 1;
      text-align: center;
    }

    .st:hover .st__name {
      color: #000;
    }

    .st:hover .st__visas {
      color: #000;
    }

    .st__arr {
      position: absolute;
      bottom: 1.15rem;
      right: 1.15rem;
      color: var(--gold);
      font-size: .88rem;
      opacity: 0;
      transform: translate(-6px, 5px);
      transition: opacity .3s, transform .3s;
    }

    .st:hover .st__arr {
      opacity: 1;
      transform: none
    }

    .why {
      background: #5A1F1B;
      position: relative;
      overflow: hidden;
    }

    .why::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 820px;
      height: 820px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(201, 169, 110, .025), transparent 65%);
      pointer-events: none;
      animation: blobDrift 15s ease-in-out infinite alternate;
    }

    .wc {
      padding: 2rem;
      background: #fff;
      border: 1px solid rgba(201, 169, 110, .09);
      position: relative;
      overflow: hidden;
      height: 100%;
      transition: background .42s, border-color .42s, transform .42s var(--ease-expo), box-shadow .42s;
      border-radius: 12px;
    }

    .wc:hover {
      background: linear-gradient(138deg, rgba(247, 243, 238, .058), rgba(247, 243, 238, .015));
      border-color: rgba(201, 169, 110, .22);
      transform: translateY(-4px);
      box-shadow: 0 20px 50px rgba(0, 0, 0, .22);
    }

    .wc__fill {
      position: absolute;
      inset: 0;
      background: linear-gradient(122deg, rgba(201, 169, 110, .065), transparent 55%);
      transform: translateX(-112%);
      transition: transform .58s var(--ease-quart);
    }

    .wc:hover .wc__fill {
      transform: translateX(0)
    }

    .wc::before,
    .wc::after {
      content: '';
      position: absolute;
      width: 18px;
      height: 18px;
      border-color: rgb(90 32 28 / 29%);
      border-style: solid;
      transition: width .4s, height .4s, border-color .4s;
    }

    .wc::before {
      top: .9rem;
      left: .9rem;
      border-width: 1px 0 0 1px
    }

    .wc::after {
      bottom: .9rem;
      right: .9rem;
      border-width: 0 1px 1px 0
    }

    .wc:hover::before,
    .wc:hover::after {
      width: 28px;
      height: 28px;
      border-color: rgba(201, 169, 110, .42)
    }

    .wc__n {

      font-size: 5rem;
      position: absolute;
      right: .8rem;
      top: 20px;
      color: rgba(201, 169, 110, .055);
      line-height: 1;
      transition: color .42s, transform .42s;
    }

    .wc:hover .wc__tag {
      color: #fff;
    }

    .wc:hover .wc__tag {
      color: #fff;
      border: 1px solid rgb(161 152 151 / 59%);
    }

    .wc:hover .wc__ttl {
      color: #fff;
    }

    .wc:hover .wc__txt {
      color: #fff;
    }

    .wc:hover .wc__n {
      color: rgba(201, 169, 110, .16);
      transform: scale(1.06) translateX(-5px)
    }

    .istack__main {
      /* height: 380px !important; */
      border-radius: 12px;
    }

    .wc__tag {
      display: inline-block;
      font-size: 14px;
      /* letter-spacing: .24em; */
      /* text-transform: uppercase; */
      color: #000000;
      /* opacity: .72; */
      border: 1px solid rgb(92 34 29 / 26%);
      padding: 6px 24px;
      margin-bottom: 1rem;
      position: relative;
      z-index: 1;
      border-radius: 12px;
    }

    .wc__ttl {

      font-size: 20px;
      font-weight: 400;
      margin-bottom: .8rem;
      color: #000;
      position: relative;
      z-index: 1;
    }

    .wc__txt {
      font-size: 16px;
      line-height: 1.92;
      color: #030000;
      position: relative;
      z-index: 1;
    }

    .wc__line {
      position: absolute;
      bottom: 0;
      left: 0;
      height: 1px;
      width: 0;
      background: linear-gradient(90deg, var(--gold), transparent);
      transition: width .62s var(--ease-expo);
    }

    .wc:hover .wc__line {
      width: 100%
    }

    .cta::before {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(201, 169, 110, .016) 1px, transparent 1px),
        linear-gradient(90deg, rgba(201, 169, 110, .016) 1px, transparent 1px);
      background-size: 62px 62px;
    }

    .cta__box {
      background: linear-gradient(155deg, var(--c2), var(--c1));
      position: relative;
      z-index: 2;
      text-align: center;
      border: 1px solid rgba(201, 169, 110, .16);
      padding: 5.5rem 4.5rem;
      background: rgba(201, 169, 110, .04);
      /* max-width: 840px; */
      margin: 0 auto;
      backdrop-filter: blur(10px);
    }

    /* .cta__box::before,
    .cta__box::after {
      content: '';
      position: absolute;
      width: 46px;
      height: 46px;
    }

    .cta__box::before {
      top: -1px;
      left: -1px;
      border-top: 2px solid var(--gold);
      border-left: 2px solid var(--gold);
      opacity: .65
    }

    .cta__box::after {
      bottom: -1px;
      right: -1px;
      border-bottom: 2px solid var(--gold);
      border-right: 2px solid var(--gold);
      opacity: .65
    }

    */

    @media(max-width:767px) {
      .cta__box {
        padding: 3.5rem 2rem
      }
    }

    @media(max-width:992px) {
      .istack {
        padding-bottom: 20px !important;
      }

      .btn-cta-o {
        margin-top: 26px;
      }

      .cta__box.rv.scale-in {
        padding: 20px 20px;
        margin: 20px 0;
      }

    }

    .cta__h2 {

      font-size: clamp(22px, 4vw, 42px);
      color: #fff;
      line-height: 1.2;
      margin-bottom: 14px;
      font-weight: 700;
    }

    .cta__txt {
      font-size: 16px;
      color: #fff;
      line-height: 1.8;
      margin-bottom: 18px;
    }

    .btn-cta {
      /* display: inline-flex; */
      /* align-items: center; */
      /* gap: .72rem; */
      background: linear-gradient(135deg, #ffffff, #ffffff);
      color: var(--ink);
      font-size: .7rem;
      font-weight: 700;
      /* letter-spacing: .16em; */
      /* text-transform: uppercase; */
      padding: .95rem 2.1rem;
      border-radius: 50px;
      box-shadow: 0 12px 40px rgba(201, 169, 110, .26);
      transition: all .35s var(--ease-expo);
      position: relative;
      overflow: hidden;
      font-size: 16px;
      padding: 16px 38px;
      color: #000 !important;
    }

    /* .btn-cta::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(255, 255, 255, .2), transparent);
      opacity: 0;
      transition: opacity .3s;
    }

    .btn-cta:hover {
      transform: translateY(-3px);
      box-shadow: 0 22px 52px rgba(201, 169, 110, .38);
      color: var(--ink)
    }

    .btn-cta:hover::before {
      opacity: 1
    } */

    .cta__box.rv.scale-in {
      position: relative;
      z-index: 2;
      margin: 0 auto;
      padding: 40px 40px;
      margin: 40px 0;
      background-color: #5A1F1B;
      position: relative;
      overflow: hidden;
      border-radius: 20px;
    }

    .btn-cta-o {
      display: inline-flex;
      align-items: center;
      background: rgba(201, 169, 110, .06);
      color: var(--off);
      font-weight: 600;
      font-size: 16px;
      padding: 16px 38px;
      border-radius: 999px;
      border: 1px solid rgba(201, 169, 110, .22);
      transition: all .35s var(--ease-expo);
    }

    .btn-cta-o:hover {
      background: rgba(201, 169, 110, .14);
      border-color: rgba(201, 169, 110, .42);
      color: var(--white);
      transform: translateY(-3px);
    }

    .btn-brand {
      display: inline-flex;
      align-items: center;
      gap: .7rem;
      padding: .92rem 2rem;
      border-radius: 999px;
      font-size: .7rem;
      font-weight: 700;
      ;
      background: linear-gradient(135deg, var(--gold), var(--gold-lt));
      color: var(--ink);
      border: none;
      transition: transform .35s var(--ease-expo), box-shadow .35s;
    }

    .btn-brand:hover {
      transform: translateY(-3px);
      box-shadow: 0 14px 42px rgba(201, 169, 110, .42);
      color: var(--ink)
    }
  