/* ZIndex additions on top of the template's component CSS. */
:root {
  --header-height: 104px;
  --smart-banner-height: 0px;
  --promotion-bar-height: 0px;
  --promotion-bar-visible-height: 0px;
  --sticky-footer-promotion-height: 0px;
  --font-nb-international-pro: "Inter", "Inter Fallback", system-ui, sans-serif;
  --font-instrument-serif: "Instrument Serif", "Instrument Serif Fallback", Georgia, serif;
  --ix-accent: #2f6bff;
  --ix-accent-soft: rgba(47, 107, 255, 0.18);
  --ix-good: #34c759;
  --ix-bad: #ff453a;
}
html { background: #000; color-scheme: dark; scroll-behavior: smooth; }
body { background: #000; color: #fff; font-family: var(--font-nb-international-pro); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; margin: 0; overflow-x: hidden; }
main { display: block; }
a { color: inherit; }
button { font-family: inherit; }

/* logo boxes that used tailwind utilities in the template */
.ix-logo { width: 110px; height: 32px; display: block; }
.ix-logo svg { width: 100%; height: 100%; display: block; }
@media (min-width: 768px) { .ix-logo { width: 166px; height: 48px; } }

/* nav pill: tabs are plain links now */
.hwWtpR { text-decoration: none; }
.hwWtpR:hover, .hwWtpR[aria-current="page"] { color: #fff; }
.ix-cta { text-decoration: none; }

/* mobile drawer */
.hNFMQi.is-open { transform: translateX(0); }
.ix-drawer-link { display: block; text-decoration: none; }
.ix-drawer-link .gZcuOL { display: block; }
.ix-drawer-x { font-family: var(--font-nb-international-pro); font-size: 16px; color: #ffffff99; text-decoration: none; letter-spacing: 0.03em; }
body.ix-locked { overflow: hidden; }
.iWgTsn[aria-expanded="true"] rect:first-child { transform: translateY(5.5px) rotate(45deg); transform-origin: 16px 10.5px; }
.iWgTsn[aria-expanded="true"] rect:last-child { transform: translateY(-5.5px) rotate(-45deg); transform-origin: 16px 21.5px; }
.iWgTsn rect { transition: transform 0.25s ease; }

/* entrance motion (was framer-motion) */
.ix-enter { transition: opacity 0.9s cubic-bezier(0.2, 0.7, 0.2, 1), transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1); }
.ix-in.ix-enter, .ix-enter.ix-in { opacity: 1 !important; transform: none !important; }
.ix-tile-enter { transition: opacity 0.8s cubic-bezier(0.2, 0.8, 0.2, 1.1), transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1.1); }
.ix-tile-enter.ix-in { opacity: 1 !important; transform: translateZ(0.01px) scale(1) rotate(0deg) !important; }
.ix-grid-enter { transition: opacity 1.6s ease, transform 1.6s ease; }
.ix-grid-enter.ix-in { opacity: 0.07 !important; transform: translateX(-50%) scale(1) !important; }
.ix-title-enter { transition: transform 1s cubic-bezier(0.2, 0.7, 0.2, 1); }
.ix-title-enter.ix-in { transform: none !important; }
.ix-word-enter { transition: opacity 0.9s cubic-bezier(0.2, 0.7, 0.2, 1), transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1); }
.ix-word-enter.ix-in { opacity: 1 !important; transform: none !important; }
.ix-letter { display: inline-block; opacity: 0; transform: translateY(0.6em); transition: opacity 0.5s ease, transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1); }
.ix-in .ix-letter { opacity: 1; transform: none; }
.ix-reveal { opacity: 0; transform: translateY(32px); transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1); }
.ix-reveal.ix-in { opacity: 1; transform: none; }
.ix-visual-enter { transition: opacity 1.2s ease; }
.ix-visual-enter.ix-in { opacity: 1 !important; }
.cJNTJj { opacity: 1; }
.cJNTJj a { text-decoration: none; }
@media (prefers-reduced-motion: reduce) {
  .ix-enter, .ix-tile-enter, .ix-grid-enter, .ix-title-enter, .ix-word-enter, .ix-letter, .ix-reveal, .ix-visual-enter { transition: none !important; }
}

/* hero tiles: small index cards instead of photos */
.ix-tile { position: absolute; inset: 0; background: linear-gradient(180deg, #171717 0%, #0b0b0b 100%); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: inherit; display: flex; flex-direction: column; justify-content: space-between; padding: 14px; box-sizing: border-box; }
.ix-tile-ticker { font-size: 14px; letter-spacing: 0.04em; color: #fff; line-height: 1; display: flex; align-items: center; justify-content: space-between; }
.ix-tile-ticker small { font-size: 10px; letter-spacing: 0.12em; color: #ffffff66; text-transform: uppercase; }
.ix-tile svg.ix-spark { width: 100%; height: 64px; display: block; overflow: visible; }
.ix-tile-foot { font-size: 10px; letter-spacing: 0.08em; color: #ffffff80; text-transform: uppercase; }
.ix-tile-foot b { font-weight: 400; color: var(--ix-accent); }
.ix-vault-bar { height: 6px; border-radius: 6px; background: #ffffff14; overflow: hidden; }
.ix-vault-bar i { display: block; height: 100%; width: 62%; border-radius: 6px; background: linear-gradient(90deg, #2f6bff, #6aa0ff); }
@media (max-width: 767px) {
  .jVPJfS { top: -96px; left: -230px; }
  .hYBiMA { top: -120px; right: -190px; }
  .fEnKyQ { bottom: -150px; left: -200px; }
  .kvsSmi { bottom: -160px; right: -210px; }
  .hqOaTe { width: 112px; height: 112px; }
  .ix-tile { padding: 10px; }
  .ix-tile svg.ix-spark { height: 40px; }
}

/* "runs on" strip that replaces the press logos */
.ix-strip { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 10px; }
.ix-chip { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 14px; border-radius: 999px; border: 1px solid #ffffff1f; color: #ffffffb2; font-size: 12px; letter-spacing: 0.04em; white-space: nowrap; }
.ix-chip i { width: 6px; height: 6px; border-radius: 50%; background: var(--ix-accent); }
@media (min-width: 768px) { .ix-chip { height: 36px; font-size: 13px; } }

/* full-height curve visual (replaces the phone video) */
.ix-visual { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 24px; box-sizing: border-box; }
.ix-visual svg { width: min(1120px, 100%); height: auto; max-height: 100%; display: block; }
.ix-curve-path { stroke-dasharray: 1400; stroke-dashoffset: 1400; transition: stroke-dashoffset 2.2s cubic-bezier(0.3, 0, 0.2, 1); }
.ix-in .ix-curve-path { stroke-dashoffset: 0; }
.ix-curve-area { opacity: 0; transition: opacity 1.2s ease 1.2s; }
.ix-in .ix-curve-area { opacity: 1; }
.ix-marker { opacity: 0; transition: opacity 0.6s ease 2s; }
.ix-in .ix-marker { opacity: 1; }
.ix-vault-fill { transform: scaleX(0); transform-origin: left; transition: transform 2s cubic-bezier(0.3, 0, 0.2, 1) 0.6s; }
.ix-in .ix-vault-fill { transform: scaleX(1); }
.ix-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

/* index card (replaces the payment card render) */
.cmJzjd { display: flex; align-items: center; justify-content: center; max-width: 100%; }
.cmJzjd svg { width: 100%; height: 100%; display: block; overflow: visible; }
.ix-card-float { animation: ix-float 7s ease-in-out infinite; transform-origin: center; }
@keyframes ix-float { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-10px) } }
@media (max-width: 767px) { .cmJzjd { width: 100%; height: 300px; } }
@media (prefers-reduced-motion: reduce) { .ix-card-float { animation: none; } }

/* product card art */
.ix-art { position: absolute; overflow: hidden; pointer-events: none; }
.ix-art svg { width: 100%; height: 100%; display: block; }
.ix-art-pick { right: 32px; bottom: 32px; left: 32px; top: 200px; }
.ix-art-vault { right: -20px; bottom: -20px; width: 360px; height: 190px; }
.ix-art-grad { right: 24px; bottom: 24px; width: 260px; height: 150px; }
.ix-art-fee { right: 24px; bottom: 24px; width: 260px; height: 150px; }
@media (max-width: 767px) {
  .ix-art-pick { top: 210px; left: 24px; right: 24px; bottom: 24px; }
  .ix-art-vault { width: 300px; height: 160px; }
  .ix-art-grad, .ix-art-fee { width: 220px; height: 130px; }
  .bQuwbX { height: 560px; }
}
.dGsIGw, .dGsIDU, .dGsJux { max-width: 100%; }

/* how it works (replaces the testimonial marquee) */
.ix-steps { display: grid; grid-template-columns: 1fr; gap: 16px; padding: 0 24px; width: 100%; box-sizing: border-box; }
@media (min-width: 768px) { .ix-steps { grid-template-columns: repeat(2, 1fr); gap: 24px; padding: 0 48px; } }
@media (min-width: 1440px) { .ix-steps { grid-template-columns: repeat(4, 1fr); padding: 0 80px; } }
.ix-step { background: #1a1a1a; border-radius: 24px; padding: 24px; min-height: 260px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
@media (min-width: 768px) { .ix-step { border-radius: 32px; padding: 28px; min-height: 300px; } }
.ix-step-n { font-family: var(--font-instrument-serif); font-style: italic; font-size: 40px; line-height: 1; color: #ffffff66; }
.ix-step h3 { font-size: 24px; line-height: 110%; letter-spacing: -0.02em; margin: 0 0 12px; color: #fff; }
.ix-step p { font-size: 16px; line-height: 150%; color: #ffffff99; margin: 0; }
@media (min-width: 768px) { .ix-step h3 { font-size: 28px; } .ix-step p { font-size: 18px; } }
.ix-section-sub { font-size: 16px; line-height: 150%; color: #ffffff99; margin: 0; max-width: 420px; }
@media (min-width: 768px) { .ix-section-sub { font-size: 20px; } }

/* CTA art */
.eWTqIB { display: flex; justify-content: center; pointer-events: none; }
.eWTqIB svg { width: 120%; max-width: 1200px; height: auto; display: block; opacity: 0.9; }

/* FAQ accordion state */
.fvJcUX.is-open .iBgiIi { grid-template-rows: 1fr; opacity: 1; padding-top: 24px; }
.fvJcUX.is-open .kbyyoS { transform: rotate(45deg); }
.svxAy { width: 100%; }
.svxAy:focus-visible { outline: 2px solid var(--ix-accent); outline-offset: 6px; border-radius: 8px; }
.kYDLqt ul { list-style: disc; padding-left: 24px; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.kYDLqt li { color: #ffffffb2; }

/* footer tweaks */
.ix-footer-note { font-size: 14px; line-height: 150%; color: #ffffff66; max-width: 520px; margin: 24px 0 0; }
@media (min-width: 768px) { .ix-footer-note { font-size: 16px; } }

/* legal pages */
.ix-legal { max-width: 760px; margin: 0 auto; padding: 48px 24px 96px; }
.ix-legal h1 { font-size: 40px; line-height: 100%; margin: 0 0 24px; }
.ix-legal p { font-size: 18px; line-height: 150%; color: #ffffffb2; margin: 0 0 16px; }
.ix-legal a { color: #fff; }
@media (min-width: 768px) { .ix-legal { padding: 80px 48px 128px; } .ix-legal h1 { font-size: 64px; } .ix-legal p { font-size: 20px; } }

/* fixes after first visual pass */
.kzNnDr { max-width: 340px; row-gap: 0.12em; line-height: 95%; }
@media (min-width: 768px) { .kzNnDr { max-width: 640px; } }
.eUBCDs { line-height: 110%; max-width: 180px; }
@media (min-width: 768px) { .eUBCDs { max-width: none; } }
.bQuwdl { height: auto; min-height: 356px; padding-bottom: 190px; }
.ix-art-vault { right: 24px; bottom: 24px; left: 24px; width: auto; height: 150px; }
.ix-art-grad, .ix-art-fee { left: 24px; right: 24px; width: auto; height: 130px; }
.ix-art-vault svg, .ix-art-grad svg, .ix-art-fee svg { width: auto; max-width: 100%; margin-left: auto; }
@media (min-width: 768px) { .bQuwdl { padding-bottom: 180px; } .ix-art-vault, .ix-art-grad, .ix-art-fee { left: 32px; right: 32px; bottom: 32px; } }
.hqOaTe { position: relative; }
@media (min-width: 768px) { .jxURaK .jMXHVG { width: 290px; } }
