:root {
  color-scheme: dark;
  --ink: #181818;
  --brand: #ff5114;
  --brand-light: #ffb700;
  --white: #fff;
  --muted: rgba(255, 255, 255, .58);
  --column: 700px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--ink); }
body { min-height: 100%; margin: 0; background: var(--ink); color: var(--white); }
a { color: inherit; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 14px; border-radius: 8px; background: #fff; color: #111; transform: translateY(-150%); }
.skip-link:focus { transform: none; }

.home { min-height: 100svh; overflow-x: hidden; }
.landing-main { min-height: 100svh; display: grid; place-items: center; padding: 32px 24px 190px; }
.branding-container { width: 100%; text-align: center; animation: fade-in-up 1s both; }
.hype-mark { display: flex; justify-content: center; align-items: center; gap: .015em; margin: 0 auto 62px; font: 900 clamp(62px, 8vw, 94px)/.8 ui-rounded, "SF Pro Rounded", system-ui, sans-serif; letter-spacing: -.09em; }
.hype-mark span { background: linear-gradient(180deg, #ff5a0a 5%, #ffb700 98%); color: transparent; background-clip: text; -webkit-background-clip: text; }
.hype-mark span:nth-child(2) { transform: translateY(2px); }
.branding-container h1 { max-width: 260px; margin: 0 auto 42px; font: 700 24px/32px ui-rounded, "SF Pro Rounded", system-ui, sans-serif; letter-spacing: -.025em; }
.app-store-button { display: inline-flex; align-items: center; min-width: 170px; padding: 7px 13px 7px 12px; border-radius: 7px; background: #fff; color: #272727; text-decoration: none; box-shadow: 0 4px 10px rgba(0, 0, 0, .1); transition: transform .2s ease, box-shadow .2s ease; }
.app-store-button:hover { box-shadow: 0 5px 14px rgba(0, 0, 0, .34); }
.app-store-button:active { transform: scale(.94); }
.app-store-button svg { width: 27px; height: 33px; margin-right: 9px; fill: currentColor; }
.app-store-button span { display: grid; text-align: left; }
.app-store-button small { font-size: 11px; line-height: 13px; }
.app-store-button strong { font-size: 19px; line-height: 21px; font-weight: 600; letter-spacing: -.02em; }
.app-store-button.unavailable { cursor: default; opacity: .74; }
.landing-footer { position: fixed; z-index: 10; inset: auto 0 0; padding: 17px max(18px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .05); text-align: center; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 0; }
.footer-links a, .footer-links span { padding: 0 12px; color: #fff; font-size: 15px; line-height: 28px; text-decoration: none; }
.footer-links span { opacity: .45; }
.social-links { min-height: 34px; display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 11px; }
.social-links a, .social-links span { display: grid; place-items: center; width: 30px; height: 30px; color: rgba(255, 255, 255, .5); }
.social-links a:hover { color: #fff; }
.social-links svg { width: 23px; height: 23px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.social-links .solid { fill: currentColor; stroke: none; }
.copyright { margin: 9px 0 0; color: rgba(255, 255, 255, .45); font-size: 10px; }

.content-page { min-height: 100svh; }
.content-column { width: min(calc(100% - 42px), var(--column)); margin-inline: auto; }
.content-header { border-bottom: 1px solid rgba(255, 255, 255, .08); background: var(--ink); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.wordmark-link { text-decoration: none; }
.mini-mark { background: linear-gradient(180deg, #ff5a0a, #ffb700); color: transparent; background-clip: text; -webkit-background-clip: text; font: 900 30px/.9 ui-rounded, "SF Pro Rounded", system-ui, sans-serif; letter-spacing: -.08em; }
.page-title { color: rgba(255, 255, 255, .55); font-size: 14px; font-weight: 600; }
.environment-banner { margin: 0; padding: 8px 20px; background: #322015; color: #ffb28f; text-align: center; font-size: 12px; font-weight: 650; }
.faq-main { overflow: hidden; }
.how-it-works-main { overflow: hidden; }
.how-it-works-hero { padding-block: 78px 91px; }
.how-it-works-hero > p { margin: 0 0 18px; color: var(--brand); font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.how-it-works-hero h1 { max-width: 670px; margin: 0; font: 800 clamp(42px, 8vw, 68px)/1.02 ui-rounded, "SF Pro Rounded", system-ui, sans-serif; letter-spacing: -.055em; }
.how-step { position: relative; padding: 82px 0 91px; }
.how-step + .how-step { margin-top: 35px; }
.how-step + .how-step::before { content: ""; position: absolute; left: -2%; top: -64px; width: 104%; height: 80px; background: inherit; border-radius: 48% 52% 0 0 / 80% 80% 0 0; transform: rotate(-1.8deg); }
.how-step.orange { background: var(--brand); color: #fff; }
.how-step.white { background: #fff; color: #181818; }
.how-step-inner { display: grid; grid-template-columns: minmax(92px, 150px) 1fr; gap: 34px; align-items: start; }
.how-step-number { margin: -.08em 0 0; font: 900 clamp(54px, 10vw, 92px)/1 ui-rounded, "SF Pro Rounded", system-ui, sans-serif; letter-spacing: -.075em; opacity: .19; }
.how-step-eyebrow { margin: 0 0 12px; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; opacity: .68; }
.how-step h2 { max-width: 510px; margin: 0; font: 800 clamp(34px, 6vw, 52px)/1.02 ui-rounded, "SF Pro Rounded", system-ui, sans-serif; letter-spacing: -.045em; }
.how-step-body { max-width: 590px; margin: 23px 0 0; font-size: 17px; line-height: 1.62; opacity: .76; }
.faq-section { position: relative; padding: 74px 0 82px; }
.faq-section + .faq-section { margin-top: 35px; }
.faq-section + .faq-section::before { content: ""; position: absolute; left: -2%; top: -64px; width: 104%; height: 80px; background: inherit; border-radius: 48% 52% 0 0 / 80% 80% 0 0; transform: rotate(-1.8deg); }
.faq-section.orange { background: var(--brand); color: #fff; }
.faq-section.white { background: #fff; color: #181818; }
.faq-section:first-child { padding-top: 68px; }
.faq-section h2 { margin: 0 0 47px; font: 800 clamp(38px, 8vw, 58px)/1 ui-rounded, "SF Pro Rounded", system-ui, sans-serif; letter-spacing: -.045em; }
.faq-list { display: grid; gap: 35px; }
.faq-entry h3 { margin: 0 0 9px; font-size: 18px; line-height: 1.3; letter-spacing: -.015em; }
.faq-entry p { margin: 0; max-width: 640px; color: inherit; opacity: .78; font-size: 16px; line-height: 1.55; }
.legal-main { padding-block: 66px 110px; }
.legal-main > .updated { margin: 0 0 55px; color: var(--muted); font-size: 13px; }
.review-banner { display: grid; gap: 6px; margin-bottom: 30px; padding: 18px 20px; border: 1px solid rgba(255, 153, 92, .35); border-radius: 12px; background: rgba(255, 81, 20, .09); color: #ffd4c3; font-size: 14px; line-height: 1.45; }
.review-banner strong { color: #ff8150; }
.legal-section { margin-bottom: 43px; }
.legal-section h2 { margin: 0 0 13px; font: 750 24px/1.2 ui-rounded, "SF Pro Rounded", system-ui, sans-serif; letter-spacing: -.025em; }
.legal-section p, .legal-section li { color: rgba(255, 255, 255, .64); font-size: 16px; line-height: 1.65; }
.legal-section p { margin: 0; }
.legal-section p + p, .legal-section p + ul, .legal-section ul + p { margin-top: 15px; }
.legal-section ul { display: grid; gap: 9px; margin: 0; padding-left: 23px; }
.legal-section li::marker { color: var(--brand); }
.content-footer { padding: 34px 20px 42px; border-top: 1px solid rgba(255, 255, 255, .08); text-align: center; }
.content-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.content-footer a { color: rgba(255, 255, 255, .7); font-size: 14px; text-decoration: none; }
.content-footer p { margin: 28px 0 0; color: rgba(255, 255, 255, .38); font-size: 10px; }
.not-found { min-height: 100svh; display: grid; place-content: center; justify-items: start; }
.not-found .eyebrow { margin: 50px 0 8px; color: var(--brand); font-size: 14px; font-weight: 800; }
.not-found h1 { margin: 0; font: 800 clamp(38px, 10vw, 58px)/1 ui-rounded, "SF Pro Rounded", system-ui, sans-serif; }
.not-found p { color: var(--muted); }
.text-button { margin-top: 12px; padding: 12px 18px; border-radius: 8px; background: var(--brand); color: #fff; font-weight: 700; text-decoration: none; }

@keyframes fade-in-up { from { opacity: 0; transform: translate3d(0, 30%, 0); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
@media (max-width: 520px) {
  .landing-main { padding-bottom: 230px; }
  .hype-mark { margin-bottom: 54px; }
  .landing-footer { position: absolute; }
  .footer-links a, .footer-links span { padding-inline: 9px; font-size: 14px; }
  .header-inner { min-height: 68px; }
  .how-it-works-hero { padding-block: 58px 70px; }
  .how-step { padding-block: 64px 72px; }
  .how-step-inner { grid-template-columns: 1fr; gap: 17px; }
  .how-step-number { font-size: 56px; }
  .faq-section { padding-block: 58px 70px; }
  .faq-section h2 { margin-bottom: 38px; }
  .legal-main { padding-block: 48px 80px; }
}
