/* FINATA immersive landing: product storytelling with stable, data-led motion. */

html { background: #07090c; scroll-behavior: smooth; }

body.apple-landing-page {
  --landing-bg: #f5f6f8;
  --landing-surface: #ffffff;
  --landing-surface-subtle: #eef1f4;
  --landing-text: #111318;
  --landing-text-secondary: #515965;
  --landing-text-tertiary: #747d89;
  --landing-line: #d8dde4;
  --landing-line-strong: #bdc5cf;
  --landing-cyan: #16bff5;
  --landing-cyan-strong: #007da8;
  --landing-success: #0a815b;
  --landing-ease: cubic-bezier(.22, 1, .36, 1);
  min-width: 0;
  min-height: 100dvh;
  display: block;
  margin: 0;
  padding: 0;
  overflow-x: clip;
  color: var(--landing-text);
  background: var(--landing-bg);
  font-family: Inter, Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;
  color-scheme: light;
}

body.apple-landing-page[data-theme="dark"] {
  --landing-bg: #0c0e12;
  --landing-surface: #15181d;
  --landing-surface-subtle: #1b1f25;
  --landing-text: #f5f7fa;
  --landing-text-secondary: #bec5cf;
  --landing-text-tertiary: #89929f;
  --landing-line: #2c323a;
  --landing-line-strong: #424a55;
  --landing-cyan: #27c8fa;
  --landing-cyan-strong: #7bdcff;
  --landing-success: #62dfad;
  color-scheme: dark;
}

body.apple-landing-page::before,
body.apple-landing-page::after { display: none !important; }

body.apple-landing-page *,
body.apple-landing-page *::before,
body.apple-landing-page *::after { box-sizing: border-box; letter-spacing: 0; }

.landing-skip-link {
  position: fixed; top: 8px; left: 8px; z-index: 1000;
  padding: 10px 14px; border-radius: 6px; color: #071018; background: #fff;
  font-size: 14px; font-weight: 700; transform: translateY(-150%);
  transition: transform 180ms ease-out;
}
.landing-skip-link:focus { transform: translateY(0); }

.landing-nav {
  position: fixed; inset: 0 0 auto; z-index: 100;
  display: grid; grid-template-columns: minmax(210px, 1fr) auto minmax(210px, 1fr);
  align-items: center; min-height: 64px; padding: 0 32px;
  border-bottom: 1px solid transparent; color: #f7f9fc;
  background: rgba(7, 9, 12, .78); backdrop-filter: saturate(150%) blur(18px);
  transition: min-height 220ms var(--landing-ease), border-color 220ms ease, background-color 220ms ease;
}
.landing-nav.is-scrolled { min-height: 56px; border-bottom-color: rgba(255,255,255,.12); background: rgba(7,9,12,.94); }
.landing-nav__brand { display: inline-flex; align-items: center; gap: 10px; justify-self: start; min-height: 44px; color: inherit; text-decoration: none; }
.landing-nav__brand img { width: 46px; height: 46px; flex: 0 0 auto; }
.landing-nav__brand span { display: grid; gap: 2px; }
.landing-nav__brand strong { font-size: 19px; line-height: 1; font-weight: 780; }
.landing-nav__brand small { color: #aeb7c3; font-size: 10px; line-height: 1.1; font-weight: 540; }
.landing-nav__links { display: flex; align-items: center; justify-content: center; gap: 6px; }
.landing-nav__links a,
.landing-nav__search {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 14px;
  border-radius: 6px; color: #d5dbe3; font-size: 13px; line-height: 1; font-weight: 570; text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease, transform 180ms var(--landing-ease);
}
.landing-nav__links a:hover, .landing-nav__links a:focus-visible,
.landing-nav__search:hover, .landing-nav__search:focus-visible { color: #fff; background: rgba(255,255,255,.09); }
.landing-nav__links a:active, .landing-nav__search:active { transform: scale(.97); }
.landing-nav__actions { display: flex; align-items: center; justify-self: end; gap: 8px; }
.landing-icon-button {
  display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0;
  border: 0; border-radius: 50%; color: #d5dbe3; background: transparent; cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease, transform 180ms var(--landing-ease);
}
.landing-icon-button:hover, .landing-icon-button:focus-visible { color: #fff; background: rgba(255,255,255,.09); }
.landing-icon-button:active { transform: scale(.92); }
.landing-icon-button svg, .landing-nav__search svg { width: 18px; height: 18px; stroke-width: 1.7; }
.landing-nav__search { gap: 7px; border: 1px solid rgba(255,255,255,.18); color: #fff; }

body.apple-landing-page .mobile-launch.landing-story {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none;
}
.landing-story { display: block !important; width: 100%; max-width: none; margin: 0; padding: 0; }
.landing-story > section { width: 100%; }
.landing-hero {
  position: relative; isolation: isolate; display: grid; align-items: center;
  min-height: min(840px, calc(100dvh - 72px)); overflow: hidden; color: #f8fafc; background: #07090c;
}
.landing-hero__poster {
  position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%;
  background: #07090c url("./media/finata-hero-desktop-poster.jpg") center center / cover no-repeat;
  transition: opacity 320ms var(--landing-ease); pointer-events: none;
}
.landing-hero__video {
  position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover;
  object-position: center center; opacity: 0; filter: saturate(.94) contrast(1.03);
  transition: opacity 650ms var(--landing-ease); pointer-events: none;
}
.landing-hero__video.is-ready { opacity: 1; }
.landing-hero.has-hero-video .landing-hero__poster { opacity: 0; }
.landing-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(7,9,12,.32); pointer-events: none; }
.landing-hero__content { width: min(1180px, calc(100% - 64px)); margin: 60px auto 0; padding: 54px 0 84px; }
.landing-hero__brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 32px; color: #c5cdd7; font-size: 12px; line-height: 1; font-weight: 620; }
.landing-hero__brand img { width: 28px; height: 28px; }
.landing-hero__eyebrow,
.landing-section-heading > span,
.landing-closing__heading > span { margin: 0 0 12px; color: #66d9ff; font-size: 11px; line-height: 1.2; font-weight: 760; text-transform: uppercase; }
.landing-hero h1 { margin: 0; font-size: 100px; line-height: .9; font-weight: 820; }
.landing-hero__message { max-width: none; margin: 34px 0 0; font-size: 38px; line-height: 1.2; font-weight: 750; word-break: keep-all; white-space: nowrap; }
.landing-hero__support { max-width: 740px; margin: 24px 0 0; color: #b9c1cc; font-size: 17px; line-height: 1.65; font-weight: 510; word-break: keep-all; }
.landing-hero__search { position: relative; width: min(660px, 100%); margin-top: 52px; }
body.apple-landing-page .landing-hero__search { width: min(660px, 100%) !important; max-width: 660px; margin: 52px 0 0 !important; }
body.apple-landing-page .landing-hero__search .search-field { width: 100% !important; max-width: none; }
.landing-hero__search .search-field {
  position: relative; display: flex; align-items: center; min-height: 60px; padding: 0 20px;
  border: 1px solid rgba(255,255,255,.22); border-radius: 8px; background: rgba(16,20,26,.88);
  box-shadow: 0 16px 46px rgba(0,0,0,.28); backdrop-filter: blur(16px);
  transition: border-color 200ms ease, background-color 200ms ease, transform 200ms var(--landing-ease);
}
.landing-hero__search .search-field:focus-within { border-color: #52d3ff; background: rgba(18,24,31,.96); transform: none; box-shadow: 0 16px 46px rgba(0,0,0,.28); outline: 0; }
.landing-hero__search .search-icon { width: 21px; height: 21px; flex: 0 0 auto; margin: 0 13px 0 0; color: #7bdcff; }
.landing-hero__search input { width: 100%; min-width: 0; height: 58px; padding: 0; border: 0; outline: 0; color: #fff; background: transparent; font-size: 16px; font-weight: 550; }
.landing-hero__search input:focus,
.landing-hero__search input:focus-visible { border: 0 !important; outline: 0 !important; box-shadow: none !important; }
.landing-hero__search input::placeholder { color: #919ba8; opacity: 1; }
.landing-hero__search .search-results {
  top: calc(100% + 8px); z-index: 110; width: 100%; max-height: 320px;
  border: 1px solid rgba(255,255,255,.16); border-radius: 8px; color: #f5f7fa; background: #15191f;
  box-shadow: 0 24px 60px rgba(0,0,0,.40);
}
.landing-hero__quick-links { display: flex; gap: 8px; margin-top: 12px; }
.landing-hero__quick-links a { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; padding: 0 12px; color: #b9c2cd; font-size: 12px; font-weight: 620; text-decoration: none; }
.landing-hero__quick-links a:hover, .landing-hero__quick-links a:focus-visible { color: #fff; }
.landing-hero__quick-links svg { width: 14px; height: 14px; }
.landing-hero__readout { position: absolute; right: max(32px, calc((100vw - 1180px) / 2)); bottom: 102px; display: grid; justify-items: end; color: #d4dae2; }
.landing-hero__readout span { color: #7ddfff; font-size: 10px; font-weight: 760; }
.landing-hero__readout strong { margin-top: 4px; font-size: 46px; line-height: 1; font-weight: 780; font-variant-numeric: tabular-nums; }
.landing-hero__readout small { margin-top: 5px; color: #9099a6; font-size: 11px; }
.landing-scroll-cue {
  position: absolute; inset: auto 0 0; display: flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 56px; border-top: 1px solid rgba(255,255,255,.12); color: #aab3bf; background: #0a0d11;
  font-size: 9px; font-weight: 720; text-decoration: none;
}
.landing-scroll-cue svg { width: 15px; height: 15px; animation: landing-cue 1.8s var(--landing-ease) infinite; }
@keyframes landing-cue { 0%,100% { transform: translateY(-2px); } 50% { transform: translateY(3px); } }

.landing-auth-dock {
  position: fixed !important; top: 84px; right: 24px; z-index: 1300; width: auto; padding: 0;
  border: 0; color: #f8fafc; background: transparent;
  pointer-events: auto;
  isolation: isolate;
}
.landing-auth-dock__label { display: none; }
.landing-auth-dock .social-signup-row { display: flex; gap: 8px; }
.landing-auth-dock .social-orb {
  display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; padding: 0;
  border: 1px solid rgba(255,255,255,.20); border-radius: 50%; box-shadow: 0 12px 30px rgba(0,0,0,.30);
  transition: transform 170ms var(--landing-ease), filter 170ms ease;
}
.landing-auth-dock .social-orb:hover, .landing-auth-dock .social-orb:focus-visible { transform: translateY(-1px); filter: brightness(.96); }
.landing-auth-dock .social-orb.google { color: #202124; background: #fff; }
.landing-auth-dock .social-orb.kakao { color: #191919; background: #fee500; }
.landing-auth-dock .social-orb svg { width: 21px; height: 21px; flex: 0 0 auto; }
.landing-auth-dock .social-orb span { display: none !important; }
.landing-auth-dock .auth-status { width: 100%; max-width: 100%; }
body.apple-landing-page.is-authenticated .landing-auth-dock {
  width: min(390px, calc(100% - 36px)); padding: 8px; border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px; background: rgba(14,18,24,.94); box-shadow: 0 16px 42px rgba(0,0,0,.28);
}
body.apple-landing-page.is-authenticated .landing-auth-dock .auth-status { max-width: none; }

.pwa-install-card {
  position: fixed; right: 18px; bottom: 18px; z-index: 120; display: grid; grid-template-columns: auto 1fr auto;
  align-items: center; gap: 12px; width: min(440px, calc(100% - 36px)); padding: 12px;
  border: 1px solid var(--landing-line); border-radius: 8px; color: var(--landing-text); background: var(--landing-surface);
  box-shadow: 0 18px 50px rgba(0,0,0,.20);
}
.pwa-install-card[hidden] { display: none; }
.pwa-install-card__icon img { width: 40px; height: 40px; }
.pwa-install-card__copy span { font-size: 13px; font-weight: 720; }
.pwa-install-card__copy p { margin: 3px 0 0; color: var(--landing-text-secondary); font-size: 11px; line-height: 1.4; }
.pwa-install-card__actions { display: flex; gap: 4px; }
.pwa-install-card__actions button { min-width: 44px; min-height: 44px; border: 0; border-radius: 6px; cursor: pointer; }

.landing-analysis, .landing-market-story, .landing-closing { position: relative; padding: 120px 32px; }
.landing-analysis { background: var(--landing-bg); }
.landing-analysis::before {
  display: none;
  content: "";
  position: absolute;
  top: 24px;
  left: max(32px, calc((100% - 1180px) / 2));
  color: var(--landing-text-tertiary);
  font-size: 9px;
  line-height: 1;
  font-weight: 740;
}
.landing-section-heading { width: min(1180px, 100%); margin: 0 auto; }
.landing-section-heading > span { color: var(--landing-cyan-strong); }
.landing-section-heading h2, .landing-closing__heading h2 { max-width: none; margin: 0; color: var(--landing-text); font-size: 48px; line-height: 1.15; font-weight: 780; word-break: keep-all; white-space: nowrap; }
.landing-section-heading > p { max-width: none; margin: 24px 0 0; color: var(--landing-text-secondary); font-size: 17px; line-height: 1.7; font-weight: 500; word-break: keep-all; white-space: nowrap; }
.landing-analysis-flow { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); width: min(1180px,100%); margin: 72px auto 0; border-top: 1px solid var(--landing-line-strong); border-bottom: 1px solid var(--landing-line-strong); }
.landing-analysis-flow article { position: relative; min-width: 0; min-height: 310px; padding: 28px 24px 30px; border-right: 1px solid var(--landing-line); }
.landing-analysis-flow article:last-child { border-right: 0; }
.landing-analysis-flow article > span { display: block; color: var(--landing-text-tertiary); font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
.landing-analysis-flow article > svg { width: 34px; height: 34px; margin-top: 72px; color: var(--landing-cyan-strong); stroke-width: 1.45; }
.landing-analysis-flow h3 { margin: 16px 0 0; font-size: 24px; line-height: 1.2; font-weight: 750; }
.landing-analysis-flow p { margin: 12px 0 0; color: var(--landing-text-secondary); font-size: 14px; line-height: 1.65; word-break: keep-all; }
.landing-analysis-result { display: grid; grid-template-columns: 190px minmax(0,1fr) auto; align-items: center; gap: 44px; width: min(1180px,100%); margin: 56px auto 0; padding: 32px 0; }
.landing-analysis-result > div { display: grid; grid-template-columns: auto 1fr; align-items: end; column-gap: 10px; }
.landing-analysis-result > div span { grid-column: 1/-1; color: var(--landing-text-tertiary); font-size: 10px; font-weight: 730; }
.landing-analysis-result strong { margin-top: 6px; font-size: 70px; line-height: .9; font-weight: 810; font-variant-numeric: tabular-nums; }
.landing-analysis-result small { padding-bottom: 5px; color: var(--landing-text-secondary); font-size: 11px; font-weight: 650; }
.landing-analysis-result > p { margin: 0; font-size: 25px; line-height: 1.35; font-weight: 690; word-break: keep-all; white-space: nowrap; }
.landing-analysis-result > a, .landing-closing__heading > a {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 18px;
  border: 1px solid var(--landing-line-strong); border-radius: 7px; color: var(--landing-text); background: var(--landing-surface);
  font-size: 13px; font-weight: 700; text-decoration: none;
  transition: transform 190ms var(--landing-ease), border-color 190ms ease, background-color 190ms ease;
}
.landing-analysis-result > a:hover, .landing-analysis-result > a:focus-visible,
.landing-closing__heading > a:hover, .landing-closing__heading > a:focus-visible { border-color: var(--landing-cyan-strong); transform: translateY(-2px); }
.landing-analysis-result svg, .landing-closing__heading > a svg { width: 16px; height: 16px; }

.landing-market-story { color: #f5f7fa; background: #0a0d11; }
.landing-section-heading--market > span { color: #60d7ff; }
.landing-section-heading--market h2 { color: #f5f7fa; }
.landing-section-heading--market > p { color: #aeb7c3; }
.market-carousel-card { position: relative; width: min(1100px,100%); min-height: 0 !important; margin: 72px auto 0; padding: 0 !important; overflow: hidden; border: 1px solid #303844; border-radius: 8px; color: #f4f7fa; background: #12161c; box-shadow: none; }
.market-carousel-card::before, .market-carousel-card::after { display: none; }
.market-carousel {
  display: flex !important; gap: 0; width: 100%; overflow-x: auto !important; overflow-y: hidden !important;
  scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain;
}
.market-carousel::-webkit-scrollbar { display: none; }
.market-carousel .proof-slide {
  flex: 0 0 100%; min-width: 100%; min-height: 0; padding: 26px 32px 24px; scroll-snap-align: start; scroll-snap-stop: always; overflow: hidden;
  border: 0; border-radius: 0; color: #f4f7fa; background: #12161c;
}
.market-carousel .market-feature-slide { width: auto; }
.market-feature-slide > .proof-card__top,
.market-feature-slide > .proof-chart-wrap,
.market-feature-slide > .proof-metrics,
.market-feature-slide > .proof-footnote { width: min(820px,100%); margin-right: auto; margin-left: auto; }
.market-carousel .proof-eyebrow { color: #50d4ff; }
.market-slide-title { margin: 9px 0 0; color: #f5f7fa; font-size: 20px; line-height: 1.25; font-weight: 740; }
.market-carousel .proof-chart-wrap,
.market-carousel .market-heatmap-wrap { border: 0; border-radius: 0; background: transparent; }
.market-carousel .proof-chart { height: 360px; }
.market-carousel .market-heatmap-wrap { min-height: 390px; }
.market-carousel .market-heatmap-canvas { height: 390px; }
.market-carousel .proof-legend, .market-carousel .proof-chart-caption, .market-carousel .market-slide-caption,
.market-carousel .proof-footnote, .market-carousel .proof-metrics span { color: #aeb7c3; }
.market-carousel .proof-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.market-carousel .proof-metrics > div {
  display: grid; min-height: 72px; align-content: center; justify-items: center; padding: 10px;
  border-color: #303844; background: #171c23; text-align: center;
}
.market-carousel .proof-metrics strong { justify-content: center; width: 100%; }
.market-carousel .proof-chart-caption { padding: 0 12px 8px; }
.market-carousel-dots {
  position: static !important; display: flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 52px; padding: 0; border-top: 1px solid #303844; pointer-events: auto !important;
}
.market-carousel-dots button {
  width: 8px !important; height: 8px !important; padding: 0; border: 0; border-radius: 50% !important;
  background: #505966; cursor: pointer; transition: width 180ms var(--landing-ease), border-radius 180ms ease, background-color 180ms ease, transform 180ms var(--landing-ease);
}
.market-carousel-dots button:hover, .market-carousel-dots button:focus-visible { background: #d4dae1; transform: scale(1.18); }
.market-carousel-dots button:focus-visible { outline: 2px solid #36ccfa; outline-offset: 4px; }
.market-carousel-dots button:active { transform: scale(.98); }
.market-carousel-dots button[aria-current="true"] { width: 28px !important; border-radius: 8px !important; background: #36ccfa; box-shadow: none; }

.landing-closing { padding-bottom: 56px; color: var(--landing-text); background: var(--landing-bg); }
.landing-closing__heading { display: grid; justify-items: center; width: min(900px,100%); margin: 0 auto; text-align: center; }
.landing-closing__heading > img { margin-bottom: 24px; }
.landing-closing__heading > span { color: var(--landing-cyan-strong); }
.landing-closing__heading h2 { text-align: center; }
.landing-closing__heading > a { margin-top: 32px; border-color: var(--landing-cyan-strong); color: #fff; background: #087ca4; }
body.apple-landing-page[data-theme="dark"] .landing-closing__heading > a { color: #fff; }
.finata-proof-auth { width: min(1180px,100%); margin: 100px auto 0; padding: 32px 0 0; border-top: 1px solid var(--landing-line); border-radius: 0; background: transparent; box-shadow: none; }
.social-signup-row { display: flex; align-items: center; justify-content: center; gap: 10px; }
.social-orb { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--landing-line); border-radius: 50%; background: var(--landing-surface); cursor: pointer; transition: transform 180ms var(--landing-ease), border-color 180ms ease; }
.social-orb:hover, .social-orb:focus-visible { border-color: var(--landing-cyan-strong); transform: translateY(-2px); }
.social-orb svg { width: 22px; height: 22px; }
.landing-utility-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 16px; margin-top: 28px; }
.landing-utility-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--landing-text-secondary); font-size: 12px; font-weight: 570; text-decoration: none; }
.landing-utility-links a:hover, .landing-utility-links a:focus-visible { color: var(--landing-text); }
.landing-footer-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--landing-line); }
.landing-sns-links { display: flex; align-items: center; gap: 8px; }
.landing-sns-links a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--landing-line); border-radius: 50%; background: var(--landing-surface-subtle); }
.landing-sns-links img { width: 22px; height: 22px; object-fit: contain; opacity: .82; filter: invert(1); }
body.apple-landing-page[data-theme="dark"] .landing-sns-links img { opacity: .9; filter: none; }
.powered-by { display: inline-flex; align-items: center; gap: 8px; color: var(--landing-text-tertiary); font-size: 10px; }
.powered-by img { width: auto; height: 20px; filter: invert(1); }
body.apple-landing-page[data-theme="dark"] .powered-by img { filter: none; }
.pg-review-login { width: min(680px,100%); margin: 24px auto 0; color: var(--landing-text); background: var(--landing-surface); }
.load-error { position: fixed; right: 16px; bottom: 16px; z-index: 200; max-width: 420px; padding: 14px; border: 1px solid #ef9a9a; border-radius: 7px; color: #8a1c1c; background: #fff1f1; font-size: 13px; line-height: 1.5; }

body.apple-landing-page #pwaInstallCard.pwa-install-card {
  position: fixed;
  right: 18px;
  bottom: 18px;
  left: auto;
  z-index: 120;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: min(460px, calc(100% - 36px));
  margin: 0;
  padding: 14px;
  border: 1px solid var(--landing-line);
  border-radius: 8px;
  color: var(--landing-text);
  background: var(--landing-surface);
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
  backdrop-filter: none;
}
body.apple-landing-page #pwaInstallCard.pwa-install-card[hidden] { display: none !important; }
body.apple-landing-page #pwaInstallCard .pwa-install-card__icon {
  width: 42px;
  height: 42px;
  overflow: visible;
  border-radius: 7px;
  background: var(--landing-surface-subtle);
}
body.apple-landing-page #pwaInstallCard .pwa-install-card__icon img { width: 32px; height: 32px; }
body.apple-landing-page #pwaInstallCard .pwa-install-card__copy span { color: var(--landing-text); font-size: 13px; }
body.apple-landing-page #pwaInstallCard .pwa-install-card__copy p { color: var(--landing-text-secondary); font-size: 11px; }
body.apple-landing-page #pwaInstallCard .pwa-install-card__actions { display: flex; align-items: center; gap: 4px; }
body.apple-landing-page #pwaInstallCard .pwa-install-card__actions button {
  min-width: 44px;
  min-height: 40px;
  border: 0;
  border-radius: 6px;
  color: var(--landing-text-secondary);
  background: transparent;
}
body.apple-landing-page #pwaInstallCard .pwa-install-card__actions [data-pwa-action] {
  padding: 0 14px;
  color: #fff;
  background: #007fae;
}
body.apple-landing-page #pwaInstallCard .pwa-install-card__actions [data-pwa-dismiss] {
  position: static;
  width: 40px;
  height: 40px;
  color: var(--landing-text-secondary);
  background: var(--landing-surface-subtle);
}
body.apple-landing-page #pwaInstallCard .pwa-install-card__actions button:hover,
body.apple-landing-page #pwaInstallCard .pwa-install-card__actions button:focus-visible { transform: none; filter: brightness(.96); }

[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity 620ms var(--landing-ease), transform 620ms var(--landing-ease); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.landing-analysis-flow article:nth-child(2) { transition-delay: 55ms; }
.landing-analysis-flow article:nth-child(3) { transition-delay: 110ms; }
.landing-analysis-flow article:nth-child(4) { transition-delay: 165ms; }
body.apple-landing-page :focus-visible { outline: 3px solid #45cffb; outline-offset: 3px; }
body.apple-landing-page { scrollbar-color: var(--landing-line-strong) var(--landing-bg); }
body.apple-landing-page::-webkit-scrollbar { width: 12px; }
body.apple-landing-page::-webkit-scrollbar-track { background: var(--landing-bg); }
body.apple-landing-page::-webkit-scrollbar-thumb { border: 3px solid var(--landing-bg); border-radius: 10px; background: var(--landing-line-strong); }

@media (max-width: 900px) {
  .landing-nav { grid-template-columns: 1fr auto; padding: 0 18px; }
  .landing-nav__links { display: none; }
  .landing-nav__search span { display: none; }
  .landing-nav__search { width: 44px; padding: 0; }
  .landing-hero__content { width: min(calc(100% - 40px),720px); }
  .landing-hero__message { font-size: 34px; }
  .landing-section-heading h2, .landing-closing__heading h2,
  .landing-section-heading > p, .landing-analysis-result > p { white-space: normal; }
  .landing-hero__readout { display: none; }
  .landing-analysis-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .landing-analysis-flow article:nth-child(2) { border-right: 0; }
  .landing-analysis-flow article:nth-child(-n+2) { border-bottom: 1px solid var(--landing-line); }
  .landing-analysis-result { grid-template-columns: 150px minmax(0,1fr); }
  .landing-analysis-result > a { grid-column: 1/-1; justify-self: start; }
}

@media (max-width: 640px) {
  .landing-nav {
    position: sticky;
    inset: auto;
    top: 0;
    width: 100%;
    min-height: 58px;
    padding: 0 14px;
    border-bottom-color: rgba(255,255,255,.12);
    background: #07090c;
    backdrop-filter: none;
  }
  .landing-nav__brand small { display: none; }
  .landing-nav__brand img { width: 38px; height: 38px; }
  .landing-nav__brand strong { font-size: 17px; }
  .landing-nav__actions { gap: 2px; }
  .landing-hero { align-items: start; min-height: calc(100dvh - 70px); }
  .landing-hero__poster { background-image: url("./media/finata-hero-mobile-poster.jpg"); }
  .landing-hero__video { object-position: center center; }
  .landing-hero__content { width: calc(100% - 32px); margin-top: 0; padding: 52px 0 88px; }
  .landing-hero h1 { font-size: 62px; }
  .landing-hero__message { margin-top: 26px; font-size: 29px; line-height: 1.23; white-space: normal; }
  .landing-hero__support { margin-top: 20px; font-size: 15px; line-height: 1.6; }
  body.apple-landing-page .landing-hero__search { margin-top: 38px !important; }
  .landing-hero__search .search-field { min-height: 56px; padding: 0 16px; }
  .landing-hero__search input { height: 54px; font-size: 16px; }
  .landing-hero__quick-links { flex-wrap: wrap; }
  .landing-scroll-cue { min-height: 48px; }
  .landing-analysis, .landing-market-story, .landing-closing { padding: 80px 18px; }
  .landing-analysis::before { top: 20px; left: 18px; }
  .landing-section-heading h2, .landing-closing__heading h2 { font-size: 38px; line-height: 1.17; }
  .landing-section-heading > p { margin-top: 18px; font-size: 16px; line-height: 1.65; }
  .landing-analysis-flow { grid-template-columns: 1fr; margin-top: 48px; }
  .landing-analysis-flow article { min-height: 0; padding: 24px 4px 28px; border-right: 0; border-bottom: 1px solid var(--landing-line); }
  .landing-analysis-flow article:nth-child(-n+2) { border-bottom: 1px solid var(--landing-line); }
  .landing-analysis-flow article:last-child { border-bottom: 0; }
  .landing-analysis-flow article > svg { width: 30px; height: 30px; margin-top: 30px; }
  .landing-analysis-flow h3 { font-size: 22px; }
  .landing-analysis-flow p { max-width: 470px; font-size: 15px; }
  .landing-analysis-result { grid-template-columns: 1fr; gap: 24px; margin-top: 34px; padding: 20px 0; }
  .landing-analysis-result > p { font-size: 23px; }
  .landing-analysis-result > a { grid-column: auto; width: 100%; }
  .market-carousel-card { margin-top: 48px; }
  .market-carousel { display: flex !important; gap: 0; }
  .market-carousel .proof-slide { flex: 0 0 100%; min-width: 100%; min-height: 0; padding: 24px 16px 20px; }
  .market-carousel .market-feature-slide { width: auto; }
  .market-carousel .proof-chart { height: 280px; }
  .market-carousel .market-heatmap-wrap { min-height: 300px; }
  .market-carousel .market-heatmap-canvas { height: 300px; }
  .market-carousel-dots { min-height: 50px; }
  .landing-closing { padding-bottom: 36px; }
  .finata-proof-auth { margin-top: 70px; padding-top: 24px; }
  .landing-utility-links { gap: 2px 12px; }
  .landing-footer-row { flex-direction: column; justify-content: center; }
  .powered-by img { height: 18px; }

  .landing-auth-dock {
    top: auto; right: 12px; bottom: max(10px, env(safe-area-inset-bottom)); left: auto; z-index: 1300;
    width: auto; padding: 0; border: 0; background: transparent;
  }
  .landing-auth-dock__label { display: none; }
  .landing-auth-dock .social-signup-row { display: flex; gap: 8px; }
  .landing-auth-dock .social-orb { justify-content: center; }
  body.apple-landing-page.is-authenticated .landing-auth-dock { right: 12px; left: 12px; width: auto; }
  .pwa-install-card { bottom: calc(88px + env(safe-area-inset-bottom)); }
  body.apple-landing-page #pwaInstallCard.pwa-install-card { right: 12px; bottom: calc(88px + env(safe-area-inset-bottom)); width: calc(100% - 24px); }
  .landing-story { padding-bottom: 72px; }
}

@media (prefers-reduced-motion: reduce) {
  .landing-hero__video { display: none; }
  .landing-hero__poster { opacity: 1 !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}
