/* ——————————————————————————————————————————————
    DESKTOP (default)
—————————————————————————————————————————————— */

/* ——————————————————————————————————————————————
    FONTS
    —————————————————————————————————————————————— */

@font-face {
    font-family: 'Bricolage Grotesque';
    src: url('/fonts/BricolageGrotesque-Regular.woff2') format('woff2');
    font-weight: 400; /* Medium */
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF; /* Latin + basic punctuation */
}

@font-face {
    font-family: 'Bricolage Grotesque';
    src: url('/fonts/BricolageGrotesque-Bold.woff2') format('woff2');
    font-weight: 700; /* Semibold */
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF; /* Latin + basic punctuation */
}

@font-face {
    font-family: 'Clash Display';
    src: url('/fonts/ClashDisplay-Semibold.woff2') format('woff2');
    font-weight: 600; /* Semibold */
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF; /* Latin + basic punctuation */
}

@font-face {
    font-family: 'Clash Display';
    src: url('/fonts/ClashDisplay-Bold.woff2') format('woff2');
    font-weight: 700; /* Semibold */
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF; /* Latin + basic punctuation */
}

/* ——————————————————————————————————————————————
    SVG EFFECTS
    —————————————————————————————————————————————— */

.hero {
  display: flex;
  flex-direction: row;
  position: absolute;
  justify-content: space-between;
  width: 100vw;
  z-index: 999;
  pointer-events: none;
  /*/  height: 100vh; /*/
}

.bg-speckle {
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  pointer-events: none;
  background: #fff; /* base for speckle filter to work from */
  filter: url(#bgSpeckle);
  opacity: 0.3; /* tweak for subtlety */
  z-index: -999;
  position: absolute;
}

.fg-speckle {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: #5E2A50; /* base for speckle filter to work from */
  filter: url(#fgSpeckle);
  opacity: 1; /* tweak for subtlety */
  z-index: -998;
}

/* ——————————————————————————————————————————————
    OVERLAY GRAPHICS
    —————————————————————————————————————————————— */

.img-cookie-left {
    height: 558px;
    position: absolute;
    bottom: -22%;
    left: -1.5%;
    z-index: 10;
}

.img-cookie-right {
    height: 546px;
    position: absolute;
    top: -30%;
    right: -5%;
    z-index: 10;
}

.img-vs-cookie {
    height: 268px;
    position: relative;
    padding: 0 0 0 0;
    z-index: 10;
}

.img-cookie-footer-left {
    height: 558px;
    position: absolute;
    bottom: 0%;
    left: -12%;
    z-index: 10;
}

.img-cookie-footer-right {
    height: 546px;
    position: absolute;
    top: 3%;
    right: -15%;
    z-index: 10;
}

.img-crumbs-02 {
    height: 76px;
    position: absolute;
    top: 12%;
    right: 32%;
    z-index: 10;
}

.img-crumbs-03 {
    height: 74px;
    position: absolute;
    bottom: 28%;
    left: 25%;
    z-index: 10;
}

.img-vs-crumbs-01 {
    height: 106px;
    position: absolute;
    top: 0%;
    right: 29%;
    z-index: 10;
}

.img-vs-crumbs-02 {
    height: 76px;
    position: absolute;
    top: 29%;
    left: 24%;
    z-index: 10;
}

.img-footer-crumbs-02 {
    height: 76px;
    position: absolute;
    top: 14%;
    right: 25%;
    z-index: 10;
}

.img-footer-crumbs-03 {
    height: 74px;
    position: absolute;
    bottom: 32%;
    left: 16%;
    z-index: 10;
}

/* ——————————————————————————————————————————————
    1) BASE STYLES
    —————————————————————————————————————————————— */

::selection {
    background: #E0DED8;
}

::-moz-selection {
    background: #E0DED8;
}

a {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    color: #F4F1EA;
    font-size: 0.8rem;
    line-height: 100%;
    letter-spacing: 0.08rem;
    text-decoration: none;
}


label {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    color: #F4F1EA;
    font-size: 1.5rem;
    line-height: 100%;
    letter-spacing: 0.03rem;
    text-decoration: none;
}

select {
    height: 3.5rem;
    color:#F4F1EA;
    border: 3px solid #F4F1EA   ;
    border-radius: 0.75rem;
    appearance: none;
    -webkit-appearance: none; /* Safari */
    -moz-appearance: none;    /* Firefox */

    font-family: "Bricolage Grotesque", sans-serif;
    font-size: 1.25rem;
    font-weight: 400;
    margin: 1rem 0 0 0;
    /* Leave room at right for the custom arrow */
    padding: 0 2.5rem 0 1rem;
    transition: border-color 100ms ease;
    color: #5E2A50;
    overflow-x: hidden;
    /* Custom arrow (size & offsets adjustable) */
    --sel-arrow-size: 20px;
    --sel-arrow-offset-x: 1rem;  /* horizontal right padding for arrow */
    --sel-arrow-offset-y: center;     /* vertical centering */

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%235E2A50' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--sel-arrow-offset-x) center;
    background-origin: padding-box; /* anchor against padded inner edge */
    background-clip: padding-box;   /* keep arrow inside border radius */
    background-size: var(--sel-arrow-size) var(--sel-arrow-size);
}

/* Hide native arrow in old IE/Edge */
select::-ms-expand { display: none; }

input {
    height: 3rem;
    color:#F4F1EA;
    border: 3px solid transparent;
    border-radius: 0.75rem;

    font-family: "Bricolage Grotesque", sans-serif;
    font-size: 1.25rem;
    font-weight: 400;
    margin: 1rem 0 0 0;
    padding-left: 1rem;
    transition: border-color 100ms ease;
    color: #5E2A50;
    overflow-x: hidden;
}

/* Modern browsers */
input::placeholder,
textarea::placeholder {
  color: #5E2A50;      /* your purple */
  opacity: 0.4;        /* lighten without changing the color */
  font-family: "Bricolage Grotesque", sans-serif;
  font-size: 1.25rem;  /* match your input */
  font-weight: 400;
}

/* Legacy fallbacks */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder { color: #5E2A50; opacity: 0.4; }

input::-moz-placeholder,
textarea::-moz-placeholder { color: #5E2A50; opacity: 0.4; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder { color: #5E2A50; opacity: 1; }

input::-ms-input-placeholder,
textarea::-ms-input-placeholder { color: #5E2A50; opacity: 1; }

/* Focus styles: solid 3px #57C073 border */
input:focus,
input:focus-visible,
select:focus,
select:focus-visible,
textarea:focus,
textarea:focus-visible {
  outline: none;
  border-color: #57C073;
  box-shadow: none; /* neutralize native focus rings */
}

 p {
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -0.01125rem;
    margin: 0;
}

.field-desc {
   font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.02rem;
    color: #F4F1EA;
    opacity: 0.8;
}

.field-wrap {
    width: 100%;
    min-width: 30%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin: 0 0 2rem 0;
}

.form-row-split {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 3rem;
}

.text-centered {
    text-align: center;
}

.text-subhead {
    text-align: center;
    margin: 0 0 2.5rem 0;
}

.txt-green {
    color:#57C073;
}

.txt-bold {
    font-weight: 600;
}

.semantic-h1 {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}


h2 {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    color: #5E2A50;
    font-size: 4rem;
    line-height: 100%;
    letter-spacing: -0.04rem;
    text-align: center;
    margin: 0;
}

h3 {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    color: #5E2A50;
    font-size: 2.5rem;
    line-height: 100%;
    letter-spacing: -0.025rem;
    text-align: left;
    margin: 0;
}

h4 {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    color: #5E2A50;
    font-size: 1.5rem;
    line-height: 116%;
    letter-spacing: -0.015rem;
    text-align: left;
    margin: 0;
}

h5 {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    color: #5E2A50;
    font-size: 0.8rem;
    line-height: 100%;
    letter-spacing: 0.075rem;
    text-align: left;
    margin: 0;
}

.number-card {
    color: #E1DDD5;
}

.number-lg {
    font-family: 'Clash Display', sans-serif;
    font-weight: 700;
    font-size: 20rem;
    line-height: 100%;
    margin: 0 0 -6rem -2rem;
    rotate: -3deg;
    -webkit-text-stroke-color: #34A853;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 1.25px;
    z-index: -1;
}

.number-xl {
    font-family: 'Clash Display', sans-serif;
    font-weight: 700;
    font-size: 26rem;
    letter-spacing: -0.64rem;
    line-height: 70%;
    color:#5E2A50;
    z-index: -1;
}

.quote-lg {
    font-family: 'times', serif;
    font-weight: 700;
    font-size: 40rem;
    line-height: 70%;
    padding-top: 35%;
    margin: 0 0 -22rem -3.5rem;
    rotate: -6deg;
    -webkit-text-stroke-color: #34A853;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 1.25px;
    z-index: -2;
}

.money-wrapper {
    position: relative;
    display: flex;
    flex-direction: row;
    margin: 0 0 1rem 0;
}

.tags-money {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    color: #5E2A50;
    font-size: 6.5rem;
    line-height: 85%;
    letter-spacing: -0.065rem;
}

.millions {
    margin: 19.5% 0 0 0;
}

.number-faq {
    font-family: 'Clash Display', sans-serif;
    font-weight: 700;
    font-size: 12.5rem;
    line-height: 100%;
    margin: 0 0 -6rem -3rem;
    rotate: 3deg;
    -webkit-text-stroke-color: #34A853;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 1.25px;
    z-index: -1;
}

.versus {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


body {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #F4F1EA;
    color: #5E2A50;
    font-family: "Bricolage Grotesque", sans-serif;
    font-weight: 400;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

.wrapper {
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    overflow-x: hidden;
}

.content {
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    align-items: center;
}

.container-hero {
    width: 100%;
    max-width: 1400px;
    height: 100vh;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.container-footer {
    width: 100%;
    max-width: 1400px;
    height: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.container {
    width: 100%;
    height: 100vh;
    max-width: 1400px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.justify-center {
    justify-content: center;
}

.auto-height {
    height: auto;
}

.auto-height-t-only {
    height: 100vh;

}

.spacer-top {
    margin-top: 6rem;
}

/* Modifier class only shows element on mobile */
.m-only {
    display: none;
}

.title-faq {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    color: #5E2A50;
    font-size: 6.5rem;
    line-height: 85%;
    letter-spacing: -0.065rem;
    margin: 2rem 0 0 0;
}

.subtitle-faq {
    width: 80%;
}

.subcontainer-howitworks {
    width: 94%;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 5.5%;
}

.subcontainer-faq {
    width: 70%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.item-howitworks {
    width: 30%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
}

.item-faq {
    width: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
}

.item-vs {
    width: 60%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    
}

.title-parent-hero {
    width: 85%;
    max-width: 1400px;
    display: flex;
    position: relative;
    flex-direction: column;
    margin: 15% 0 0 0;
}

.title-parent-footer {
    width: 80%;
    max-width: 1400px;
    height: 7.5rem;
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    margin: 25% 0 0 0;
}

.title-parent {
    width: 60%;
    max-width: 720px;
    margin: 0;
    display: flex;
    position: relative;
    flex-direction: column;
}

.title-hero {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    position: relative;
    color: #F4F1EA;
    font-size: 11.25rem;
    line-height: 85%;
    letter-spacing: -0.12rem;
    text-align: center;
    margin-top: -5%;
    white-space: normal;
}

.split-left,
.split-right {
  display: inline-block;          /* critical */
  will-change: transform;         /* perf hint */
  transform-origin: center center;
}

.title-footer {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    position: relative;
    color: #F4F1EA;
    font-size: 7.5rem;
    line-height: 85%;
    letter-spacing: -0.075rem;
    text-align: center;
    z-index: 1;
    white-space: normal;   /* allow wrapping */
}

.vs-parent {
    width: 100%;
    display: flex;
    position: relative;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.vs-left {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    color: #5E2A50;
    font-size: 7.5rem;
    line-height: 85%;
    letter-spacing: -0.08rem;
    text-align: center;
    padding: 0 0 5rem 0;
}

.vs-right {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    color: #5E2A50;
    font-size: 7.5rem;
    line-height: 85%;
    letter-spacing: -0.08rem;
    text-align: center;
    padding: 5rem 0 0 2%;
}

.meter-parent {
    width: 100vw;
    height: 222px;
    background-color: #E0DED8;
    margin: 2rem 0 0 0;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-start;

    clip-path: polygon(
    0% 12.08%,
    0% 100%,
    100% 100%,
    100% 17.15%,
    81.5% 22.53%,
    85.68% 7.61%,
    52.45% 17.15%,
    55.95% 3.13%,
    18.78% 17.15%,
    23.27% 0%,
    0% 12.08%
  );
}

.meter-child {
    width: 35%;
    height: 100%;
    background-color: #5E2A50;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-end;
}

.meter-label {
    height: auto;
    width: 70%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin: 0 2.5rem 1.5rem 0;
}

.meter-cash {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    font-size: 8rem;
    letter-spacing: 0.085;
    line-height: 0.8;
    color: #F4F1EA;
    display: flex;
    align-items: flex-start;
}

.span-cash {
    font-size: 3.5rem;
}

.meter-views {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    font-size: 1.5rem;
    letter-spacing: 0.015;
    line-height: 1;
    color: #F4F1EA;
}


.ticker-parent {
    width: 100vw;
    height: 12.5rem;
    margin: 0;
    rotate: -1.5deg;
    display: flex;
    position: relative;
    flex-direction: row;
    justify-content: flex-start;
    overflow: hidden;
    z-index: -3;

}

.ticker-partners {
    height: 14rem;
}

.text-ticker {
    font-family: 'Clash Display', sans-serif;
    font-weight: 700;
    color: #5E2A50;
    font-size: 12.5rem;
    letter-spacing: -0.14rem;
    white-space: nowrap;
}

.copy-parent-hero {
    color:#F4F1EA;
    z-index: 2;
    width: 100%;
    display: flex;
    position: relative;
    flex-direction: row;
    justify-content: center;
    margin: 2rem 0 2rem 0;
}

.copy-parent {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    gap: 1rem;
    margin: 0;
}

.copy-centered {
    width: 43%;
    display: flex;
    position: relative;
    flex-direction: column;
}

.copy-child {
    width: 36%;
    text-align: center;
}

/* CSS custom property for smooth animation */
@property --angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}

button {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    padding: 0 1.5rem;
    height: 3rem;
    background-color: #F4F1EA;
    color: #5E2A50;
    border: none;
    border-radius: 1.5rem;
    font-family: "Clash Display", sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.04rem;
    cursor: pointer;
    transition: color 0.3s ease;
}

button::before {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 1.25rem;
    padding: 2px;
    /* DEFAULT: rotating mixed gradient */
    background: conic-gradient(
        from var(--angle, 0deg),
            #57C073,
        #E3AD40,
        #5E2A50,
        #57C073
        
    );
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    /* Rotate continuously by default */
    animation: smoothRotate 5s linear infinite;
}

/* HOVER: gradient ring switches to greens only */
button:hover::before {
    background: conic-gradient(
        from var(--angle, 0deg),
            #57C073,
        #E3AD40,
        #5E2A50,
        #57C073
    );
    /* Rotate continuously by default */
    animation: smoothRotate 2s linear infinite;
}

button:hover {
    color: #5E2A50;
}

@keyframes smoothRotate {
    from { --angle: 0deg; }
    to   { --angle: 360deg; }
}

.form-parent {
    width: 50%;
    margin: 3rem 0 0 0;
    padding: 0 0 6rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.standard-btn {
    width: auto;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0 1.5rem 0 1.5rem;
    height: 3rem;
    background-color: #F4F1EA;
    color: #5E2A50;
    border: 1.75px solid #5E2A50;
    border-radius: 1.25rem;
    font-size: 0.9rem;
    letter-spacing: 0.04rem;
    gap: 0.5rem; 
}

.btn-mobile-cta {
    display: none;
}

.jumbo-cta {
    height: 3.5rem;
    margin: 2rem 0 0 0;
}

.footer-cta {
    width: 40%;
    margin: 2rem 0 0 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 9999;
    padding: 0 2rem;
    height: 4rem;
    background-color: #F4F1EA;
    color: #5E2A50;
    border: 1.5px solid #5E2A50;
    border-radius: 1.5rem;
    font-size: 1rem;
    letter-spacing: 0.03rem;
}

.btn-parent {
    position: relative;
    z-index: 9999;
}

.nav {
    z-index: 99;
    width: 94%;
    margin: 3% 5% 3% 3%;
    position: fixed;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    top: 0;
    left: 0;
}

.cs-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.footer-end {
    z-index: 99;
    width: 94%;
    margin: 3% 0 0 3%;
    position: absolute;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    bottom: 3%;
    left: 0;
}

.footer-links {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    color: #F4F1EA;
    font-size: 0.8rem;
    line-height: 100%;
    letter-spacing: 0.08rem;
    text-decoration: none;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2rem;
}

.bg-hero {
  position: absolute;
  top: 0%;
  left: 50%;
  width: 100vw;              
  transform: translateX(-50%);
  height: 96%;
  display: flex;

  clip-path: polygon(
    100.00% 92.71%,
    71.52% 97.19%,
    76.41% 90.21%,
    10.90% 99.89%,
    16.21% 93.52%,
    0.00% 96.38%,
    0.00% 0.00%,
    100.00% 0.00%
  );
}

.bg-footer {
  position: absolute;
  top: 14%;
  left: 50%;
  width: 100vw;              
  transform: translateX(-50%);
  height: 86%;
  display: flex;

  clip-path: polygon(
    0.00% 2.70%,
    20.79% 0.00%,
    14.39% 7.67%,
    82.59% 2.09%,
    75.26% 10.74%,
    100.00% 7.67%,
    100.00% 100.00%,
    0.00% 100.00%
  );
}

.img-wrapper {
    width: auto;
    aspect-ratio: auto;
    overflow: hidden;
    border-radius: 1.5rem;
}

.img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    
}

.img-fingers {
    height: 212px;
    position: absolute;
    top: -15%;
    right: 35%;
}

.img-photo {
    height: 286px;
    position: absolute;
    top: -15%;
    right: 15%;
}

.img-brianna {
    transform: rotate(-2deg);
}

.img-mark {
    transform: rotate(2deg);
}

.img-ryan {
    transform: rotate(-3.5deg);
}

.svg-vh-logo {
    height: 70px;
    width: 182px;
    position: absolute;
    rotate: -2deg;
    top: 30%;
    right: 5%;
    z-index: 10;

}

.img-moneybag {
    height: 430px;
    position: absolute;
    top: -22%;
    left: 24%;
}

/* DESKTOP VIEWPORT CARDS IN SECTION TWO */

.cards-parent {
    position: absolute;
    height: 100vh;
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content:flex-start;
    perspective: 1200px;
    transform: translateZ(0);
    z-index: 2;
    overflow-x: hidden;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.card-wrapper {
    width: 16rem;
    min-width: 16rem;
    height: 19.5rem;
    display: flex;
    flex: 0 0 16rem; /* = flex-grow:0; flex-shrink:0; flex-basis:20rem */
    margin: 0 4% 0 4%;
    position: absolute;
    flex-direction: column;
    justify-content: space-between;
    transform-style: preserve-3d;
    /* smooth GPU transforms */
    will-change: transform;
    cursor: pointer;
}

/* 3) Both faces occupy the same footprint */
.card-wrapper .face-front,
.card-wrapper .face-back {
width: 100%;
  position: absolute;
  inset: 0;             /* top:0; right:0; bottom:0; left:0 */
  display: flex;        /* keep your inner layout */
  flex-direction: column;
  backface-visibility: hidden;     /* hide the “mirror” side */
  -webkit-backface-visibility: hidden; /* Safari/iOS */
  transform-origin: center center; /* rotate around the middle */
}

/* 4) Front face is the default */
.card-wrapper .face-front {
  transform: rotateY(0deg);
  z-index: 2; /* sit above the back by default */
}

/* 5) Back face is rotated 180° so it’s literally on the backside */
.card-wrapper .face-back {
  transform: rotateY(180deg);
  z-index: 1;
}

/* 7) A helper class you can toggle (or animate to) with GSAP */
.card-wrapper.is-flipped {
  transform: rotateY(180deg);
}

.card-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: absolute;
    z-index: -1;
}

.card-copy {
    width: 70%;
    padding: 8% 0 0 16%;
    display: flex;
    position: relative;
    flex-direction: column;
    gap: 0.5rem;
}

.card-index {
    width: 84%;
    padding: 12% 0 0 14%;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.card-top-left {
    top: 5%;
    left: 3%;
    transform: rotate(-5deg);
}

.card-top-right {
    top: 5%;
    right: 3%;
    transform: rotate(-2.5deg);
}

.card-btm-left {
    bottom: 5%;
    left: 3%;
    transform: rotate(-3deg);
}

.card-btm-right {
    bottom: 5%;
    right: 3%;
    transform: rotate(2deg);
}

.img-face {
    height: 180px;
    position: absolute;

    top: 6%;
    right: -10%;
    transform: rotate(5deg);
}

.img-pass {
    height: 190px;
    position: absolute;

    top: 6%;
    right: -12%;
    transform: rotate(5deg);
}

.img-glove {
    height: 180px;
    position: absolute;

    top: 2%;
    right: -4%;
    transform: rotate(68deg);
}

.img-rocket {
    height: 200px;
    position: absolute;
    top: 5%;
    right: -15%;
    transform: rotate(0deg);
}

.img-hourglass {
    height: 190px;
    position: absolute;
    top: 4%;
    right: -12%;
    transform: rotate(16deg);
}

.img-scissors {
    height: 190px;
    position: absolute;
    top: 1%;
    right: -10%;
    transform: rotate(16deg);
}

.img-bones {
    height: 196px;
    position: absolute;
    rotate: 3.5deg;
    top: 6%;
    right: -9%;
    transform: rotate(9deg);
}

.img-handshake {
    height: 212px;
    position: absolute;
    rotate: 9deg;
    top: 2%;
    right: -8%;
    transform: rotate(9deg);
}

/* ——————————————————————————————————————————————
    TABLET VIEWPORT OVERRIDES
—————————————————————————————————————————————— */
@media (min-width: 768px) and (max-width: 1024px) {

/* Lock the page to vertical scrolling by default */
html, body, .wrapper {
  overflow-x: clip;
}

/* ——————————————————————————————————————————————
    TABLET OVERLAY GRAPHIC OVERRIDES
    —————————————————————————————————————————————— */


.bg-footer {
  position: absolute;
  top: 14%;
  left: 20%;
  width: 130vw;              
  transform: translateX(-20%);
  height: 86%;
  display: flex;
}

.img-cookie-left {
    bottom: -12%;
    left: -21%;
}

.img-cookie-right {
    top: -15%;
    right: -25%;
}

.img-crumbs-02 {
    top: auto; /* RESET */
    bottom: 20%;
    right: 9%;
}

.img-crumbs-03 {
    bottom: auto; /* RESET */
    top: 15%;
    left: 16%;

}

.img-cookie-footer-left {
    bottom: 1%;
    left: -31%;
    z-index: 10;
}

.img-cookie-footer-right {
    top: 11%;
    right: -27%;
}

.img-footer-crumbs-02 {
    top: 14%;
    right: 17%;
}

.img-footer-crumbs-03 {
    bottom: auto; /* Reset */
    top: 32%;
    left: 9%;
}

.svg-vh-logo {
    top: 25%;
    right: 5%;
}

/* END OF GRAPHICS OVERRIDES */

h3 {
    font-family: 'Clash Display', sans-serif;
    font-weight: 600;
    color: #5E2A50;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.025rem;
    text-align: left;
    margin: 0;
}

/* Modifier class only shows element on desktop */
.d-only {
    display: none;
}

.auto-height-t-only {
    height: auto;
    margin: 10rem 0 5rem 0;
}

.copy-centered {
    width: 60%;
}

.nav {
    width: 90%;
    margin: 10% 5% 5% 5%;
}

.title-parent-hero {
    width: 100%;
    max-width: 768px;
    margin: 15% 0 0 0;
}

.title-hero {
    font-size: 7.5rem;
    line-height: 85%;
    letter-spacing: -0.075rem;
    text-align: center;
    margin-top: -5%;
    white-space: normal;
}

.title-parent {
    width: 90%;
    margin: 0;
    display: flex;
    position: relative;
    flex-direction: column;
}

.copy-parent-hero {
    margin: 2rem 0 2rem 0;
}

.copy-child {
    width: 60%;
}

/* TABLET VIEW OF CARDS IN SECTION TWO */

.cards-parent {
  position: relative;
  width: 100%;
  height: auto;
  margin: 2rem 0 0 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2 equal-width columns */
  grid-template-rows: repeat(2, auto);   /* 2 rows */
  column-gap: 1rem;
  row-gap: 5rem;   
  justify-items: center;
  align-items: center;
}

.card-wrapper {
    position: relative;
}

.m-howitworks {
    height: auto;
    margin: 0 0 0 0;
}

.subcontainer-howitworks {
    width: 100vw;
    gap: 0rem;
    margin-top: -6rem;
    padding: 7rem 0 0 0;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.item-howitworks {
    width: 18rem;
    margin: 0 4% 0 4%;
    flex: 0 0 18rem; /* = flex-grow:0; flex-shrink:0; flex-basis:20rem */
    min-width: 18rem;
}

.subcontainer-faq {
    width: 80%;
    gap: 1rem;
}

.title-faq {
    font-size: 7.5rem;
    letter-spacing: -0.075rem;
    margin: 2rem 0 0 0;
}

.subtitle-faq {
    width: 100%;
}

.number-faq {
    font-size: 19rem;
    margin: 0 0 -12rem -3rem;
}

.money-wrapper {
    margin: 0 0 1rem 0;
}

.number-xl {
    font-size: 18rem;
    letter-spacing: -0.32rem;
}

.tags-money {
    font-size: 4.5rem;
    line-height: 85%;
    letter-spacing: -0.065rem;
}

.millions {
    margin: 18.5% 0 0 0;
}

.img-moneybag {
    height: 300px;
    position: absolute;
    top: -22%;
    left: 24%;
}

.container-footer {
    padding: 8rem 0 0 0;
}

.title-parent-footer {
    height: auto;
    margin: 33% 0 0 0;
}

.form-parent {
    width: 85%;
    margin: 0 0 0 0;
    padding: 4rem 0 12rem 0;
}

.field-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin: 0 0 3rem 0;
}

.footer-end {
    width: 90%;
    margin: 5% 0 0 5%;
    bottom: 2%;
}

}

/* ——————————————————————————————————————————————
    MOBILE
—————————————————————————————————————————————— */
@media (max-width: 767px) {

/* Lock the page to vertical scrolling by default */
html, body, .wrapper {
  overflow-x: clip;
}

.btn-mobile-cta {
    display: flex;
    flex-direction: row;
    justify-content: center;
    position: fixed;
    width: 100%;
    bottom: 1.5rem;
    z-index: 20;
}

.mobile-btn {
    width: auto;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0 1.5rem 0 1.5rem;
    height: 3.5rem;
    background-color: #F4F1EA;
    color: #5E2A50;
    border: 1.75px solid #5E2A50;
    border-radius: 1.25rem;
    font-size: 0.9rem;
    letter-spacing: 0.04rem;
    gap: 0.5rem; 
}

/* ——————————————————————————————————————————————
    MOBILE OVERLAY GRAPHIC OVERRIDES
    —————————————————————————————————————————————— */

.bg-hero {
  left: 50%;
  width: 110vw;              
  transform: translateX(-50%);
  height: 86%;

  clip-path: polygon(
    100.00% 96.81%,
    73.52% 99.10%,
    82.41% 95.21%,
    9.20% 100.00%,
    15.21% 96.52%,
    0.00% 97.88%,
    0.00% 0.00%,
    100.00% 0.00%
  );
}

.bg-footer {
  top: 0;
  left: 0;
  width: 100vw;              
  transform: translateX(0%);
  height: 100%;

  clip-path: polygon(
    0.00% 1.00%,
    20.79% 0.00%,
    11.39% 2.33%,
    89.59% 0.00%,
    78.46% 2.25%,
    100.00% 1.30%,
    100.00% 100.00%,
    0.00% 100.00%
  );
}

.img-cookie-left {
    height: 320px;
    bottom: -1%;
    left: -24%;
}

.img-cookie-right {
    height: 320px;
    top: -5%;
    right: -32%;
}

.img-vs-cookie {
    height: 197px;
}

.img-cookie-footer-left {
    height: 320px;
    bottom: 1%;
    left: -29%;
    z-index: 99999;
}

.img-cookie-footer-right {
    height: 320px;
    top: -11%;
    right: -27%;
}

.img-crumbs-02 {
    top: auto;
    left: auto;
    bottom: 19%;
    right: -4%;
}

.img-crumbs-03 {
    top: 15%;
    left: 10%;
}

.img-vs-crumbs-01 {
    height: 76px;
    top: 0%;
    right: 5%;
}

.img-vs-crumbs-02 {
    height: 65px;
    top: 29%;
    left: 5%;
}

.img-footer-crumbs-02 {
    height: 76px;
    top: auto;
    bottom: 16.5%;
    right: 7%;
    z-index: 10;
}

.img-footer-crumbs-03 {
    height: 74px;
    top: -1%;
    left: auto; /* reset */
    right: 36%;
    z-index: 10;
}

.svg-vh-logo {
    transform: scale(80%);
    top: 30%;
    right: -15%;
}

/* Mobile override for wrapper images */
.img-wrapper img {
    width: auto;
    object-fit: contain;
}

/* Modifier class only shows element on desktop */
.d-only {
    display: none;
}

.auto-height-t-only {
    height: auto;
    margin: 2rem 0 4rem 0;
}

.spacer-top {
    margin: 0 0 4rem 0;
}

.nav {
    margin: 15% 5% 5% 5%;
    position: absolute;
    justify-content: center;
}

.container-hero {
    gap: 1rem;
}

.title-parent-hero {
    max-width: 768px;
    margin: -1.5rem 0 0 0;
}

.title-hero {
    font-size: 5.5rem;
    line-height: 95%;
    letter-spacing: -0.055rem;
    text-align: center;
    margin-top: -5%;
    white-space: normal;
}

.title-footer {
    font-size: 5.5rem;
    line-height: 85%;
    letter-spacing: -0.055rem;
    text-align: center;
}

.copy-parent-hero {
    display: none;
}

.title-parent {
    width: 88%;
}

.title-parent-footer {
    height: 11rem;
    width: 100%;
}

.form-parent {
    width: 85%;
    margin: 0 0 0 0;
    padding: 2rem 0 12rem 0;
}

.field-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin: 0 0 2.25rem 0;
}

.form-row-split {
    width: 100%;
    flex-direction: column;
    gap: 0rem;
}

/* MOBILE VIEW OF CARDS IN SECTION TWO */

.cards-parent {
  order: 99; /* Reordered to place the card container div last inside parent container */
  position: relative;
  width: 100vw;
  height: 23rem;
  display: flex;
  flex-direction: row;
  gap: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  justify-items: center;
  padding-top: 1rem;
    -webkit-user-select: none; /* iOS Safari */
    user-select: none;         /* Standard */
    -webkit-touch-callout: none;          /* Disable callout on long-press */
    -webkit-tap-highlight-color: transparent; /* Remove tap highlight */
}

.card-wrapper {
    position: relative;
    padding: 0;
    scroll-snap-align: start;
}


.card-top-left {
    top: auto;
    left: auto;
    transform: rotate(-3deg);
}

.card-top-right {
    top: auto;
    right: auto;
    transform: rotate(-2.5deg);
}

.card-btm-left {
    bottom: auto;
    left: auto;
    transform: rotate(-3deg);
}

.card-btm-right {
    bottom: auto;
    right: auto;
    transform: rotate(2deg);
}

/* Modifier class only shows element form mobile */
.m-only {
    display: flex;
}

h2 {
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.03rem;
}

h3 {
    font-size: 2.25rem;
    line-height: 105%;
    letter-spacing: -0.01rem;
}

.copy-centered {
    width: 90%;
}

.ticker-parent {
    width: 100vw;
    height: 7.5rem;
}

.text-ticker {
    font-size: 7.5rem;
    letter-spacing: -0.08rem;
}

.m-howitworks {
    height: auto;
    margin: 0 0 8rem 0;
}

.subcontainer-howitworks {
    width: 80%;
    flex-direction: column;
    gap: 4rem;
    margin-top: -3rem;
}

.item-howitworks {
    width: 100%;
    gap: 1.25rem;
}

.number-lg {
    font-size: 19rem;
    margin: 0 0 -10rem -2rem;
    rotate: -3deg;
    -webkit-text-stroke-width: 1.5px;
}

.money-wrapper {
    margin: 0 0 1rem 0;
}

.number-xl {
    font-size: 9rem;
    letter-spacing: -0.16rem;
}

.quote-lg {
    margin: 0 0 -20.5rem -3.5rem;
}

.tags-money {
    font-size: 2.5rem;
    line-height: 85%;
    letter-spacing: -0.025rem;
}

.millions {
    margin: 18.5% 0 0 0;
}

.img-moneybag {
    height: 240px;
    position: absolute;
    top: -104%;
    left: 9%;
}

.img-fingers {
    height: 160px;
    position: absolute;
    top: -1%;
    right: 35%;
}

.img-photo {
    height: 256px;
    position: absolute;
    top: -2%;
    right: -2%;
    z-index: -1;
}

.vs-parent {
    width: 88%;
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.versus {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-35%, -50%);
    font-size: 15rem;
    letter-spacing: -0.15rem;
}

.vs-left {
    font-size: 6.5rem;
    letter-spacing: -0.065rem;
    padding: 0 80% 0 0;
    margin: 0 0 -20% 0;
}

.vs-right {
    font-size: 6.5rem;
    letter-spacing: -0.065rem;
    padding: 0 0 0 65%;
    margin: -20% 0 0 0;
}

.meter-parent {
    height: 140px;
    margin: 2rem 0 0 0;
}

.meter-label {
    margin: 0 1.25rem 1.25rem 0;
}

.meter-cash {
    font-size: 4rem;
    letter-spacing: 0.04;
    line-height: 0.8;
}

.span-cash {
    font-size: 1.5rem;
}

.meter-views {
    font-size: 1rem;
    letter-spacing: 0.01;
    line-height: 1;
}

.number-faq {
    font-size: 20rem;
    margin: 0 0 -14rem -4rem;
}

.subtitle-faq {
    width: 100%;
}

.subcontainer-faq {
    width: 80%;
    gap: 2rem;
}

.item-faq {
    gap: 2rem;
}

a {
    font-size: 0.75rem;
    line-height: 100%;
    letter-spacing: 0.05rem;
    text-decoration: none;
}

.footer-end {
    width: 88%;
    margin: 6% 0 0 6%;
    position: absolute;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    bottom: 1.5%;
    left: 0;
}

.footer-links {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.25rem;
}



}