/* Public Bayfi component rules, scoped to the unlocked body; colours and font use Hadi guidelines. */
@keyframes v2PulseRing{
    0%   { transform: scale(1);   opacity: 0.7; }
    18%  { transform: scale(3.2); opacity: 0; }
    100% { transform: scale(3.2); opacity: 0; }
  }@keyframes v2LinkIn{
    to { opacity: 1; transform: translateY(0); }
  }@keyframes v2Pulse{
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.35; transform: scale(0.65); }
  }@keyframes v2LinkOut{
    from { opacity: 1; transform: translateY(0); }
    to   { opacity: 0; transform: translateY(-0.4375rem); }
  }@keyframes v2WaveHand{
    0%   { transform: rotate(-8deg); }
    50%  { transform: rotate(20deg); }
    100% { transform: rotate(-8deg); }
  }@keyframes bl-icon-in{
          from { opacity: 0; transform: scale(0); }
          to   { opacity: 1; transform: scale(1); }
        }@keyframes bl-letter-in{
          from { opacity: 0; transform: scale(0) translateY(1.25rem); }
          to   { opacity: 1; transform: scale(1) translateY(0); }
        }@keyframes bl-dot-drop{
          from { opacity: 0; transform: scale(0) translateY(-1.875rem); }
          to   { opacity: 1; transform: scale(1) translateY(0); }
        }@keyframes v2PulseRing{ 0%{transform:scale(1);opacity:0.7} 18%{transform:scale(3.2);opacity:0} 100%{transform:scale(3.2);opacity:0} }@keyframes v2stmt-spin{ to { transform: rotate(360deg); } }.bayfi-body .v2sw-track{
    display: flex;
    flex-direction: row;
    height: 100%;
    will-change: transform;
  }.bayfi-body .v2sw-slide{
    width: 50vw;
    height: 100%;
    flex-shrink: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    border-right: 0.0625rem solid rgba(12,31,12,0.1);
    overflow: hidden;
  }.bayfi-body .v2sw-slide-heading{
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 4vw;
  }.bayfi-body .v2sw-heading{
    margin: 0 0 clamp(1.5rem, 3vw, 2.75rem);
    font-family: var(--font-aspekta);
    font-weight: 500;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    line-height: 1.05;
    letter-spacing: -0.03em;
    color: #050506;
  }.bayfi-body .v2sw-card-slide{
    padding: clamp(3rem, 6vw, 6rem) 3vw clamp(3.5rem, 6vw, 6rem);
    justify-content: center;
  }.bayfi-body .v2sw-card{
    display: block;
    text-decoration: none;
    width: 100%;
  }.bayfi-body .v2sw-card-media{
    position: relative;
    aspect-ratio: 16 / 10;
    border-radius: clamp(0.6rem, 0.7vw, 1rem);
    overflow: hidden;
    background: #e4e4e4;
  }.bayfi-body .v2sw-card-tag{
    position: absolute;
    top: clamp(0.625rem, 1vw, 1rem);
    left: clamp(0.625rem, 1vw, 1rem);
    z-index: 2;
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(0.625rem) saturate(1.4);
    -webkit-backdrop-filter: blur(0.625rem) saturate(1.4);
    border: 0.0625rem solid rgba(255,255,255,0.18);
    border-radius: 0.5rem;
    padding: clamp(0.3125rem,0.6vw,0.5rem) clamp(0.5625rem,0.85vw,0.8125rem);
    font-family: var(--font-aspekta);
    font-weight: 400;
    font-size: 0.6875rem;
    color: #fff;
    letter-spacing: 0.04em;
    white-space: nowrap;
    line-height: 1;
  }.bayfi-body .v2sw-card-media video{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(15%) brightness(0.96);
    transform: scale(1.06);
    transition: transform 0.6s cubic-bezier(0.16,1,0.3,1), filter 0.7s cubic-bezier(0.16,1,0.3,1);
  }.bayfi-body .v2sw-card:hover .v2sw-card-media video{
    filter: grayscale(0%) brightness(1);
    transform: scale(1.1);
  }.bayfi-body .v2sw-card-reveal{
    width: 100%;
    will-change: transform;
  }.bayfi-body .v2sw-card-footer{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: clamp(1rem, 2vw, 2rem);
    margin-top: clamp(1.125rem, 1.8vw, 1.625rem);
  }.bayfi-body .v2sw-card-title{
    margin: 0 0 0.5rem;
    font-family: var(--font-aspekta);
    font-weight: 300;
    font-size: clamp(1.2rem, 1.7vw, 1.7rem);
    letter-spacing: -0.02em;
    color: #050506;
    line-height: 1.15;
  }.bayfi-body .v2sw-card-arrow{
    flex-shrink: 0;
    width: clamp(2.375rem, 3vw, 3rem);
    height: clamp(2.375rem, 3vw, 3rem);
    border-radius: 50%;
    border: 0.0938rem solid rgba(12,31,12,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #050506;
    transition:
      background 0.35s cubic-bezier(0.16,1,0.3,1),
      border-color 0.35s cubic-bezier(0.16,1,0.3,1),
      transform 0.35s cubic-bezier(0.16,1,0.3,1);
  }.bayfi-body .v2sw-card-arrow svg{ transition: transform 0.35s cubic-bezier(0.16,1,0.3,1); }.bayfi-body .v2sw-card:hover .v2sw-card-arrow{
    background: #7B62FF;
    border-color: #7B62FF;
    transform: scale(1.08);
  }.bayfi-body .v2sw-card:hover .v2sw-card-arrow svg{ transform: rotate(45deg); }.bayfi-body .v2sw-slide-cta{
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 4vw;
  }.bayfi-body .v2sw-slide-cta .v2sw-card-reveal{
    display: flex;
    flex-direction: column;
    align-items: center;
  }.bayfi-body .v2sw-cta-text{
    margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
    font-family: var(--font-aspekta);
    font-weight: 500;
    font-size: clamp(1.6rem, 2.4vw, 2.4rem);
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: #050506;
    max-width: 26ch;
  }.bayfi-body .v2sw-desktop{ display: block; }.bayfi-body .v2sw-mobile{ display: none; }@media (max-width: 900px){.bayfi-body .v2sw-desktop{ display: none !important; }.bayfi-body .v2sw-mobile{ display: block !important; }}.bayfi-body .v2sw-mob-wrap{
    background: #F3F3F3;
    padding: clamp(3.5rem, 12vw, 5.5rem) 4vw;
  }.bayfi-body .v2sw-mob-heading{
    margin: 0 0 1.25rem;
    font-family: var(--font-aspekta);
    font-weight: 500;
    font-size: clamp(2rem, 9vw, 2.6rem);
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: #050506;
  }.bayfi-body .v2sw-mob-viewall-wrap{
    margin-bottom: clamp(2.5rem, 10vw, 3.5rem);
  }.bayfi-body .v2sw-mob-list{
    display: flex;
    flex-direction: column;
    gap: clamp(2.5rem, 9vw, 3.5rem);
  }.bayfi-body .v2sw-mob-card{ display: block; text-decoration: none; }.bayfi-body .v2sw-mob-card-media{
    position: relative;
    aspect-ratio: 16 / 10;
    border-radius: 3vw;
    overflow: hidden;
    background: #e4e4e4;
  }.bayfi-body .v2sw-mob-card-media video{
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
  }.bayfi-body .v2sw-mob-card-footer{
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }.bayfi-body .v2sw-mob-card-title{
    margin: 0;
    font-family: var(--font-aspekta);
    font-weight: 300;
    font-size: clamp(1.1rem, 4.6vw, 1.3rem);
    color: #050506;
    letter-spacing: -0.02em;
  }@media (prefers-reduced-motion: reduce){.bayfi-body .v2sw-card-media video{ transition: none !important; }}.bayfi-body .v2sv-video-wrap{
          background: #0a160a;
        }.bayfi-body .v2sv-video-wrap video{
          opacity: 1;
        }.bayfi-body .v2sv-row{
          display: grid;
          grid-template-columns: clamp(2.5rem, 3.5vw, 4rem) 1fr auto clamp(1.8rem, 2.5vw, 3rem);
          align-items: center;
          padding: clamp(1.5rem, 2.5vw, 2.25rem) 0;
          position: relative;
          opacity: 0;
          transform: translateY(1.125rem);
          transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1);
          cursor: pointer;
        }.bayfi-body .v2sv-divider{
          height: 0.0625rem;
          transform: scaleX(0);
          transform-origin: left;
          transition: transform 0.9s cubic-bezier(0.16,1,0.3,1), background 0.5s ease;
        }.bayfi-body .v2sv-expand-outer{
          display: grid;
          grid-template-rows: 0fr;
          transition: grid-template-rows 0.6s cubic-bezier(0.16,1,0.3,1);
        }.bayfi-body .v2sv-expand-outer.open{ grid-template-rows: 1fr; }.bayfi-body .v2sv-expand-inner{ overflow: hidden; }.bayfi-body .v2sv-name-mobile{ display: none; }.bayfi-body .v2sv-name-desktop{ display: block; }.bayfi-body .v2sv-expand-content{
          display: flex;
          flex-direction: row;
          flex-wrap: wrap;
          align-items: flex-start;
          gap: clamp(1rem, 4vw, 5rem);
          opacity: 0;
          transform: translateY(-0.5rem);
          transition: opacity 0.4s ease 0.08s, transform 0.5s cubic-bezier(0.16,1,0.3,1) 0.08s;
        }.bayfi-body .v2sv-expand-outer.open .v2sv-expand-content{ opacity: 1; transform: translateY(0); }@media (max-width: 640px){.bayfi-body .v2sv-section{
            width: 92vw !important;
            padding-top: 2.5rem !important;
            padding-bottom: 2rem !important;
          }.bayfi-body .v2sv-header{ flex-direction: column !important; align-items: flex-start !important; gap: clamp(0.5rem,2vw,0.875rem) !important; }.bayfi-body .v2sv-sub{ text-align: left !important; max-width: 100% !important; }}@media (max-width: 768px){.bayfi-body .v2sv-heading{ font-size: var(--ts-md) !important; }.bayfi-body .v2sv-name{ font-size: clamp(2.2rem, 7vw, 3.5rem) !important; min-width: 0; }.bayfi-body .v2sv-name-mobile{ display: block; }.bayfi-body .v2sv-name-desktop{ display: none; }.bayfi-body .v2sv-row{
            grid-template-columns: clamp(2rem, 5.5vw, 2.8rem) 1fr clamp(1.6rem, 5vw, 2.2rem);
            padding: clamp(1.1rem, 4vw, 1.8rem) 0;
          }.bayfi-body .v2sv-row-tags{ display: none !important; }.bayfi-body .v2sv-preview-wrap{ display: none !important; }.bayfi-body .v2sv-expand-content{
            flex-direction: column;
            gap: 0.75rem;
          }}.bayfi-body .v2hw-outer{ height:400svh; width:96vw; margin:var(--gap-section) auto 0; }.bayfi-body .v2hw-sticky{ width:100%; height:100svh; display:flex; flex-direction:column; padding:8svh 0 2vw; box-sizing:border-box; overflow:hidden; }.bayfi-body .v2hw-header{ flex:0 0 auto; display:flex; align-items:flex-start; justify-content:space-between; padding-bottom:1.2svh; margin-bottom:1.2svh; }.bayfi-body .v2hw-heading{ font-family:var(--font-aspekta); font-weight:500; font-size:var(--ts-md); color:#fff; letter-spacing:-0.03em; line-height:1.06; margin:0; }.bayfi-body .v2hw-sub{ font-family:var(--font-aspekta); font-weight:400; font-size:var(--ts-subtext); color:#999999; line-height:1.65; text-align:right; max-width:30ch; margin:0; letter-spacing:-0.01em; padding-bottom:0.2vw; text-wrap:balance; }@media (max-width:640px){.bayfi-body .v2hw-sub{ line-height:1.4; }.bayfi-body .v2hw-step-desc{ line-height:1.4; }}.bayfi-body .v2hw-stage{ flex:1; display:flex; flex-direction:column; gap:4svh; min-height:0; padding:3vh 0 0; }.bayfi-body .v2hw-grid-cards{ flex:1; min-height:0; max-height:64svh; display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(0.625rem,1.2vw,1.125rem); }.bayfi-body .v2hw-grid-card{ position:relative; border-radius:clamp(0.5rem,0.8vw,0.875rem); overflow:hidden; background:#091609; border:0.0625rem solid rgba(255,255,255,0.06); display:flex; flex-direction:column; will-change:transform,opacity; transition:border-color 0.35s ease; }.bayfi-body .v2hw-card-visual{ flex:1; min-height:0; position:relative; }.bayfi-body .v2hw-card-sep{ height:0.0625rem; background:rgba(255,255,255,0.06); flex-shrink:0; }.bayfi-body .v2hw-card-text{ flex:0 0 auto; padding:clamp(0.875rem,1.4vw,1.25rem); display:flex; flex-direction:column; gap:clamp(0.3125rem,0.5vw,0.5625rem); }.bayfi-body .v2hw-bar-wrap{ flex:0 0 auto; position:relative; width:100%; display:flex; align-items:center; }.bayfi-body .v2hw-bar-inner{ position:relative; width:100%; }.bayfi-body .v2hw-step-title{ font-family:var(--font-aspekta); font-weight:500; font-size:var(--ts-sub); color:#fff; line-height:1; letter-spacing:-0.03em; margin:0; }.bayfi-body .v2hw-step-desc{ font-family:var(--font-aspekta); font-weight:300; font-size:var(--ts-subtext); color:rgba(255,255,255,0.45); line-height:1.5; margin:0; }@media (max-width:768px){.bayfi-body .v2hw-outer{ width:92vw; height:auto; padding-bottom:10svh; }.bayfi-body .v2hw-sticky{ position:relative; height:auto; overflow:visible; padding:6vw 0; }.bayfi-body .v2hw-bar-wrap{ display:none; }.bayfi-body .v2hw-header{ flex-direction:column; align-items:flex-start; gap:2vw; margin-bottom:0; padding-bottom:3svh; }.bayfi-body .v2hw-heading{ font-size:var(--ts-section-head); }.bayfi-body .v2hw-sub{ font-size:clamp(0.78rem,3.5vw,1rem); text-align:left; max-width:100%; }.bayfi-body .v2hw-stage{ gap:3svh; padding:3svh 0 0; }.bayfi-body .v2hw-grid-cards{ flex:none; height:auto; max-height:none; grid-template-columns:1fr 1fr; gap:3vw; }.bayfi-body .v2hw-grid-card{ opacity:1 !important; transform:none !important; }.bayfi-body .v2hw-card-visual{ height:clamp(10rem,44vw,15rem); flex:none; }.bayfi-body .v2hw-step-title{ font-size:clamp(1.1rem,4.5vw,1.8rem); }.bayfi-body .v2hw-step-desc{ font-size:clamp(0.68rem,2.8vw,0.88rem); }}.bayfi-body .v2cli-wrap{ width: 100%; background: #141416; }.bayfi-body .v2cli-inner{
          width: 96vw; margin: 0 auto;
          padding: var(--gap-section) 0 clamp(4rem,8vw,7.5rem);
        }.bayfi-body .v2cli-header{
          display: flex; align-items: flex-start;
          justify-content: space-between;
          margin-bottom: clamp(3rem,5vw,5rem);
        }.bayfi-body .v2cli-heading{
          margin: 0; font-family: var(--font-aspekta); font-weight: 500;
          font-size: var(--ts-md); color: #fff; line-height: 1.06; letter-spacing: -0.03em;
        }.bayfi-body .v2cli-sub{
          margin: 0; font-family: var(--font-aspekta); font-weight: 300;
          font-size: var(--ts-subtext); color: #999; line-height: 1.7;
          max-width: 36ch; text-align: right;
        }.bayfi-body .v2cli-logos-wrap{
          overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none;
        }.bayfi-body .v2cli-logos-wrap::-webkit-scrollbar{ display: none; }@media (max-width: 640px){.bayfi-body .v2cli-inner{ width: 92vw !important; }.bayfi-body .v2cli-header{ flex-direction: column !important; align-items: flex-start !important; gap: 1rem !important; }.bayfi-body .v2cli-sub{ text-align: left !important; }}.bayfi-body .hpr-wrap{
          background: #F2EEE6;
          margin-top: var(--gap-section);
        }.bayfi-body .hpr-inner{
          width: 96vw;
          margin: 0 auto;
          padding: clamp(4.5rem, 9vw, 8rem) 0;
        }.bayfi-body .hpr-header{
          display: grid;
          grid-template-columns: 55fr 45fr;
          gap: clamp(2rem, 5vw, 5rem);
          align-items: flex-start;
          border-top: 0.0625rem solid rgba(25,27,36,0.08);
          padding-top: clamp(2rem, 4vw, 3.5rem);
          margin-bottom: clamp(3rem, 6vw, 5.5rem);
        }.bayfi-body .hpr-heading{
          font-family: var(--font-aspekta);
          font-weight: 500;
          font-size: var(--ts-md);
          color: #191B24;
          letter-spacing: -0.03em;
          line-height: 1.12;
          margin: 0;
        }.bayfi-body .hpr-right{
          display: flex;
          flex-direction: column;
          align-items: flex-end;
          justify-content: flex-start;
          padding-top: 0.25rem;
        }.bayfi-body .hpr-desc{
          font-family: var(--font-aspekta);
          font-weight: 300;
          font-size: var(--ts-body);
          color: rgba(25,27,36,0.48);
          line-height: 1.65;
          margin: 0;
          max-width: 36ch;
          text-align: right;
        }.bayfi-body .hpr-link{
          font-family: var(--font-aspekta);
          font-weight: 300;
          font-size: var(--ts-body);
          color: #191B24;
          text-decoration: none;
          display: inline-flex;
          align-items: center;
          gap: 0.375rem;
          letter-spacing: -0.01em;
          opacity: 0.5;
          transition: opacity 0.22s ease;
          width: fit-content;
        }.bayfi-body .hpr-link:hover{ opacity: 1; }.bayfi-body .hpr-grid{
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          gap: clamp(0.75rem, 1.4vw, 1.25rem);
        }.bayfi-body .hpr-card{
          background: #fff;
          border-radius: clamp(0.875rem, 1.4vw, 1.25rem);
          border: 0.0625rem solid rgba(25,27,36,0.06);
          padding: clamp(1.75rem, 3.5vw, 3.25rem) clamp(1.25rem, 2.5vw, 2.25rem);
          display: flex;
          flex-direction: column;
          transition: box-shadow 0.28s ease;
        }.bayfi-body .hpr-card--accent{
          background: #7B62FF;
          border-color: #7B62FF;
        }.bayfi-body .hpr-cta-btn{
          width: 100%;
          height: clamp(2.5rem, 3vw, 3.25rem);
          border-radius: 0.5rem;
          cursor: pointer;
          display: flex;
          align-items: center;
          justify-content: center;
          font-family: var(--font-aspekta);
          font-weight: 300;
          font-size: var(--ts-btn);
          letter-spacing: -0.01em;
          border: none;
          background: #191B24;
          color: #fff;
          transition: background 0.22s ease;
        }.bayfi-body .hpr-card--accent .hpr-cta-btn{ background: #0F1D0F; }@media (max-width: 768px){.bayfi-body .hpr-header{ grid-template-columns: 1fr; gap: clamp(0.75rem, 2vw, 1.25rem); }.bayfi-body .hpr-right{ align-items: flex-start; }.bayfi-body .hpr-desc{ text-align: left; }.bayfi-body .hpr-grid{ grid-template-columns: 1fr; }.bayfi-body .hpr-card--accent{ order: -1; }}@media (max-width: 640px){.bayfi-body .hpr-inner{ width: 92vw; }}@media (prefers-reduced-motion: reduce){.bayfi-body .hpr-card,.bayfi-body .hpr-cta-btn,.bayfi-body .hpr-link{ transition: none !important; }}.bayfi-body .hfaq-wrap{
          background: #F2EEE6;
          border-top: 0.0625rem solid rgba(25,27,36,0.06);
          padding: clamp(4.5rem, 9vw, 8rem) 0;
        }.bayfi-body .hfaq-inner{
          width: 96vw;
          margin: 0 auto;
          display: grid;
          grid-template-columns: 38fr 62fr;
          gap: clamp(2.5rem, 7vw, 7.5rem);
          align-items: flex-start;
        }.bayfi-body .hfaq-left{
          position: sticky;
          top: clamp(5rem, 8vw, 7.5rem);
        }.bayfi-body .hfaq-head-muted{
          font-family: var(--font-aspekta);
          font-weight: 500;
          font-size: var(--ts-md);
          color: rgba(25,27,36,0.2);
          letter-spacing: -0.03em;
          line-height: 1.06;
          margin: 0;
        }.bayfi-body .hfaq-head{
          font-family: var(--font-aspekta);
          font-weight: 500;
          font-size: var(--ts-md);
          color: #191B24;
          letter-spacing: -0.03em;
          line-height: 1.06;
          margin: 0 0 clamp(1.25rem, 2.8vw, 2.5rem);
        }.bayfi-body .hfaq-sub{
          font-family: var(--font-aspekta);
          font-weight: 300;
          font-size: var(--ts-body);
          color: rgba(25,27,36,0.42);
          line-height: 1.65;
          margin: 0 0 clamp(1.75rem, 3.5vw, 3rem);
          max-width: 30ch;
        }.bayfi-body .hfaq-cal-link{
          display: inline-flex;
          align-items: center;
          gap: 0.5rem;
          font-family: var(--font-aspekta);
          font-weight: 300;
          font-size: var(--ts-btn);
          color: #fff;
          text-decoration: none;
          padding: 0 clamp(1rem, 1.8vw, 1.625rem);
          height: clamp(2.5rem, 3vw, 3.25rem);
          background: #191B24;
          border: none;
          border-radius: 0.5rem;
          letter-spacing: -0.01em;
          transition: background 0.22s ease;
          cursor: pointer;
        }.bayfi-body .hfaq-cal-link:hover{ background: rgba(25,27,36,0.78); }.bayfi-body .hfaq-accordion{
        }@media (max-width: 768px){.bayfi-body .hfaq-inner{ grid-template-columns: 1fr; gap: clamp(2rem, 5vw, 3rem); }.bayfi-body .hfaq-left{ position: static; }}@media (max-width: 640px){.bayfi-body .hfaq-inner{ width: 92vw; }}@media (prefers-reduced-motion: reduce){.bayfi-body .hfaq-cal-link{ transition: none !important; }}