@charset "UTF-8";
:root {
  --paper: #f5f5ef;
  --ink: #183a32;
  --muted: #62716b;
  --line: #dfe3d9;
  --green: #26765e;
  --lime: #dcf698;
  --dark: #143b32;
  --white: #fff;
  --radius: 24px;
  font-family:
    Inter,
    "Avenir Next",
    Avenir,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}
body {
  margin: 0;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
}
button,
a,
summary {
  touch-action: manipulation;
}
button {
  color: inherit;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 3px solid #37886c;
  outline-offset: 6px;
}
p,
h1,
h2,
h3,
figure {
  margin: 0;
}
button {
  cursor: pointer;
}
svg {
  flex-shrink: 0;
}
.icon {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.icon-definitions {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
.container {
  width: min(1280px, calc(100% - 112px));
  margin-inline: auto;
}
.skip-link {
  position: fixed;
  z-index: 100;
  top: 12px;
  left: 16px;
  padding: 14px 20px;
  background: var(--ink);
  color: white;
  border-radius: 8px;
  transform: translateY(-150%);
}
.skip-link:focus {
  transform: translateY(0);
}
[hidden] {
  display: none !important;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(245, 245, 239, 0.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(223, 227, 217, 0.75);
}
.header-inner {
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 29px;
  letter-spacing: -1.8px;
  font-weight: 730;
  white-space: nowrap;
}
.brand-mark {
  width: 37px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.brand-mark img {
  width: 54px;
  height: 54px;
  max-width: none;
  object-fit: contain;
}
.brand-id {
  font-weight: 400;
}
.brand-dot {
  color: #428367;
}
.site-nav {
  display: flex;
  align-items: center;
  gap: 35px;
  font-size: 13px;
  font-weight: 600;
}
.site-nav > a {
  padding-block: 13px;
  transition: color 0.15s;
}
.site-nav > a:hover {
  color: var(--green);
}
.site-nav .admin-link {
  margin-left: 19px;
  padding: 12px 17px;
  border: 1px solid #cbd4c8;
  border-radius: 7px;
  display: flex;
  align-items: center;
  gap: 15px;
}
.admin-link .icon {
  width: 17px;
  height: 17px;
}
.menu-toggle {
  display: none;
}
.hero {
  min-height: 708px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  gap: 20px;
  padding-top: 42px;
  padding-bottom: 44px;
}
.hero-copy {
  position: relative;
  z-index: 2;
  padding-bottom: 10px;
}
.eyebrow {
  font-size: 10px;
  letter-spacing: 1.85px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1.6;
}
.status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #458465;
  display: inline-block;
  box-shadow: 0 0 0 4px rgba(69, 132, 101, 0.07);
  flex-shrink: 0;
}
.hero h1 {
  font-size: clamp(48px, 5.45vw, 79px);
  line-height: 1.06;
  font-weight: 530;
  letter-spacing: -4.6px;
  margin: 25px 0 25px;
  white-space: nowrap;
}
em {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -3.7px;
}
.hero h1 em {
  color: #34755b;
}
.hero-description {
  font-size: 15px;
  line-height: 1.85;
  max-width: 440px;
  color: var(--muted);
  letter-spacing: 0.05px;
}
.hero-tech {
  max-width: 440px;
  margin-top: 18px;
  padding-left: 13px;
  border-left: 2px solid #4a896b;
  color: #245947;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
}
.hero-actions {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-top: 33px;
}
.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 11px;
  min-height: 56px;
  padding: 0 21px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 650;
  transition:
    transform 0.18s,
    background 0.18s,
    box-shadow 0.18s;
  white-space: nowrap;
}
.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 7px 18px rgba(20, 59, 50, 0.1);
}
.button .icon {
  width: 19px;
  height: 19px;
}
.button-dark {
  color: #fff;
  background: var(--ink);
}
.button-dark:hover {
  background: #235442;
}
.button-arrow {
  margin-left: 18px;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}
.text-link .icon {
  width: 17px;
  height: 17px;
  transition: transform 0.2s;
}
.text-link:hover .icon {
  transform: translate(2px, -2px);
}
.download-note {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  color: #68766e;
  margin-top: 19px;
}
.download-note .icon {
  width: 13px;
  height: 13px;
}
.hero-visual {
  position: relative;
  min-width: 0;
  height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
}
.hero-visual:before {
  content: "";
  position: absolute;
  inset: 60px -12px 70px;
  background: radial-gradient(
    ellipse at center,
    rgba(160, 191, 246, 0.3),
    rgba(216, 229, 251, 0.08) 62%,
    transparent 74%
  );
  z-index: -2;
}
.visual-orbit {
  position: absolute;
  border: 1px solid #d7e2f2;
  border-radius: 50%;
  transform: rotate(-28deg);
  z-index: -1;
}
.orbit-one {
  width: 530px;
  height: 345px;
}
.orbit-two {
  width: 614px;
  height: 405px;
  opacity: 0.65;
}
.orbit-three {
  width: 687px;
  height: 463px;
  opacity: 0.4;
}
.orbit-spark {
  position: absolute;
  width: 9px;
  height: 9px;
  background: #84a8e8;
  border: 3px solid var(--paper);
  border-radius: 50%;
}
.spark-one {
  left: -10px;
  top: 215px;
}
.spark-two {
  right: 2px;
  bottom: 140px;
}
.phone {
  width: 258px;
  height: 547px;
  background: #f5f7fb;
  border: 6px solid #17253e;
  color: #17253e;
  border-radius: 39px;
  padding: 0 0 10px;
  transform: rotate(-5deg);
  box-shadow:
    2px 0 0 2px #64758e,
    0 35px 55px -26px #7289b4;
  position: relative;
  overflow: hidden;
}
.phone-top {
  height: 31px;
  padding: 11px 19px 0;
  display: flex;
  justify-content: space-between;
  font-size: 8px;
  line-height: 9px;
  font-weight: 750;
}
.phone-camera {
  position: absolute;
  top: 9px;
  left: calc(50% - 27px);
  width: 54px;
  height: 14px;
  background: #17253e;
  border-radius: 16px;
}
.phone-signal {
  font-size: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.battery {
  width: 11px;
  height: 6px;
  border: 1px solid #17253e;
  border-radius: 2px;
  display: inline-block;
  background: #17253e;
}
.phone-content {
  padding: 14px 17px;
}
.phone-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 17px;
  letter-spacing: -1px;
}
.phone-brand > b {
  font-weight: 400;
}
.phone-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  border: 1px solid #dee5ef;
  background: #e7eefb;
  color: #2458c5;
  border-radius: 50%;
  font-size: 10px;
  letter-spacing: 0;
}
.phone-greeting {
  font-size: 8px;
  color: #58677f;
  margin-top: 19px;
}
.phone h2 {
  font-size: 22px;
  letter-spacing: -0.9px;
  line-height: 1.18;
  font-weight: 530;
  margin-top: 5px;
}
.phone-label {
  display: flex;
  justify-content: space-between;
  font-size: 6px;
  letter-spacing: 1.1px;
  font-weight: 700;
  margin: 20px 0 8px;
}
.phone-label span {
  color: #78869a;
}
.credential-card {
  height: 139px;
  background: #2458c5;
  border: 1px solid #7396d8;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
  color: #fff;
  padding: 14px;
}
.credential-top {
  display: flex;
  align-items: center;
  gap: 6px;
  position: relative;
  z-index: 1;
}
.credential-top > .icon {
  height: 17px;
  width: 17px;
  color: #c8ddff;
}
.credential-top > span {
  font-size: 6px;
  letter-spacing: 0.75px;
}
.credential-top .credential-dots {
  margin-left: auto;
  font-size: 10px;
  letter-spacing: 1px;
}
.credential-watermark {
  position: absolute;
  font-family: Georgia, serif;
  font-size: 180px;
  line-height: 1;
  right: -7px;
  top: 13px;
  color: rgba(200, 221, 255, 0.13);
  transform: rotate(-20deg);
}
.credential-bottom {
  position: absolute;
  left: 14px;
  bottom: 16px;
  display: flex;
  flex-direction: column;
}
.credential-caption {
  font-size: 5px;
  letter-spacing: 1.1px;
  color: #c8ddff;
}
.credential-bottom strong {
  font-size: 13px;
  letter-spacing: -0.1px;
  margin-top: 5px;
  font-weight: 500;
}
.credential-status {
  font-size: 5.5px;
  color: #dae6fc;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 8px;
}
.credential-status > span {
  width: 3px;
  height: 3px;
  background: #c8ddff;
  border-radius: 50%;
}
.phone-scan {
  margin-top: 12px;
  background: #eaf0fa;
  border: 1px solid #d7e1ef;
  padding: 10px 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 9px;
}
.scan-icon {
  width: 29px;
  height: 29px;
  background: #fff;
  border-radius: 6px;
  display: grid;
  place-items: center;
  color: #2458c5;
}
.scan-icon .icon {
  width: 20px;
  height: 20px;
}
.phone-scan > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.phone-scan strong {
  font-size: 8px;
}
.phone-scan div > span {
  font-size: 6px;
  color: #58677f;
}
.phone-scan > .icon {
  width: 14px;
  height: 14px;
  margin-left: auto;
}
.phone-activity-title {
  display: flex;
  justify-content: space-between;
  font-size: 8px;
  font-weight: 600;
  margin: 19px 0 12px;
}
.phone-activity-title span {
  font-size: 6px;
  font-weight: 400;
  color: #58677f;
}
.phone-activity {
  display: flex;
  align-items: center;
  gap: 7px;
}
.activity-check {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e7eefb;
  color: #2458c5;
}
.activity-check .icon {
  width: 12px;
  height: 12px;
}
.phone-activity div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.phone-activity strong {
  font-size: 7px;
  font-weight: 550;
}
.phone-activity div > span,
.phone-activity small {
  font-size: 6px;
  color: #58677f;
}
.phone-activity small {
  margin-left: auto;
}
.phone-nav {
  display: flex;
  justify-content: space-around;
  border-top: 1px solid #dee5ef;
  margin-top: 20px;
  padding-top: 10px;
  color: #78869a;
}
.phone-nav > span {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 3px;
  font-size: 5px;
}
.phone-nav .icon {
  width: 15px;
  height: 15px;
}
.phone-nav .selected {
  color: #2458c5;
}
.phone-home {
  position: absolute;
  bottom: 7px;
  width: 68px;
  height: 3px;
  left: calc(50% - 34px);
  background: #17253e;
  border-radius: 5px;
}
.floating-note {
  position: absolute;
  z-index: 2;
  border: 1px solid rgba(222, 229, 239, 0.95);
  background: rgba(255, 255, 252, 0.96);
  box-shadow: 0 13px 36px -23px #647ea8;
  border-radius: 10px;
}
.note-identity {
  display: flex;
  align-items: center;
  gap: 9px;
  left: 0;
  top: 130px;
  padding: 14px 17px;
  transform: rotate(-4deg);
}
.note-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e7eefb;
  color: #2458c5;
}
.note-icon .icon {
  width: 19px;
  height: 19px;
}
.note-identity div {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.note-identity strong {
  font-size: 10px;
  font-weight: 650;
}
.note-identity div > span {
  font-size: 7px;
  color: #58677f;
}
.note-approval {
  right: -8px;
  bottom: 103px;
  width: 233px;
  padding: 17px 18px;
  transform: rotate(4deg);
}
.approval-top {
  font-size: 6px;
  font-weight: 650;
  letter-spacing: 1.05px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.approval-top .status-dot {
  width: 4px;
  height: 4px;
}
.note-approval > strong {
  font-size: 13px;
  font-weight: 600;
  display: block;
  margin: 13px 0;
}
.note-approval > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 7px;
  color: #58677f;
}
.approval-check {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #e7eefb;
  color: #2458c5;
  display: grid;
  place-items: center;
}
.approval-check .icon {
  width: 13px;
  height: 13px;
}
.hero-visual figcaption {
  position: absolute;
  bottom: 8px;
  font-size: 8px;
  letter-spacing: 0.5px;
  color: #58677f;
}
.trust-strip {
  padding: 24px 0 27px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr 1.25fr 1.4fr 1.4fr;
  gap: 25px;
  align-items: center;
}
.trust-strip > p {
  font-size: 9px;
  line-height: 1.8;
  color: #75806f;
}
.trust-strip strong {
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.1px;
  color: var(--ink);
}
.trust-strip > div {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 10px;
  color: #4c6256;
  white-space: nowrap;
}
.trust-strip .icon {
  width: 21px;
  height: 21px;
  stroke-width: 1.3;
}
.section {
  padding-top: 111px;
  padding-bottom: 111px;
}
.section-eyebrow {
  color: #577160;
  font-size: 9px;
  letter-spacing: 1.65px;
  margin-bottom: 23px;
}
.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 60px;
  margin-bottom: 41px;
}
h2 {
  font-size: 39px;
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -1.75px;
}
.text-muted {
  color: #7a887a;
}
.section-heading > p {
  max-width: 293px;
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted);
  padding-bottom: 4px;
}
.feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px;
}
.feature {
  position: relative;
  overflow: hidden;
  border: 1px solid #dfe5d7;
  border-radius: var(--radius);
  padding: 30px;
  background: #eef0e8;
}
.feature-index {
  position: absolute;
  top: 26px;
  right: 28px;
  font-size: 9px;
  color: #73816f;
  letter-spacing: 1px;
}
.feature-wallet,
.feature-consent {
  min-height: 347px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.feature-copy h3 {
  font-size: 20px;
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: -0.6px;
  margin-bottom: 10px;
}
.feature-copy p {
  font-size: 12px;
  line-height: 1.85;
  color: var(--muted);
  max-width: 405px;
}
.feature-wallet {
  background: #e9eddf;
}
.mini-wallet {
  height: 182px;
  position: relative;
  margin: auto auto 22px;
  width: 280px;
}
.mini-card {
  width: 230px;
  height: 132px;
  border-radius: 11px;
  position: absolute;
  left: 12px;
  top: 28px;
  border: 1px solid #a8b7a4;
  box-shadow: 0 9px 20px -16px #455c40;
}
.back-card {
  background: #d7dfc8;
  transform: rotate(-12deg);
  top: 20px;
  left: 31px;
  display: flex;
  padding: 14px;
  gap: 7px;
  align-items: flex-start;
}
.back-card .icon {
  width: 18px;
  height: 18px;
}
.back-card span {
  font-size: 8px;
  letter-spacing: 1px;
  padding-top: 4px;
}
.front-card {
  background: #325844;
  transform: rotate(4deg);
  color: #f4f7e5;
  display: flex;
  padding: 18px 17px;
  align-items: flex-end;
  gap: 12px;
}
.front-card:after {
  content: "";
  position: absolute;
  border: 1px solid #75906b;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  right: -45px;
  top: -60px;
  opacity: 0.5;
}
.mini-emblem {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid #7f966b;
  border-radius: 9px;
}
.mini-emblem .icon {
  width: 20px;
  height: 20px;
}
.front-card div {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.front-card small {
  font-size: 5px;
  letter-spacing: 1px;
  color: #c0d5ad;
}
.front-card strong {
  font-size: 10px;
  font-weight: 500;
}
.mini-card-chip {
  position: absolute;
  top: 20px;
  left: 18px;
  width: 27px;
  height: 21px;
  background: linear-gradient(135deg, #d7d6a6, #b4bd89);
  border-radius: 4px;
  border: 1px solid #e0e0bd;
}
.feature-consent {
  background: #f0f0e9;
}
.mini-consent {
  width: 265px;
  margin: 3px auto 27px;
  border: 1px solid #dde2d5;
  box-shadow: 0 10px 25px -20px #5c6f53;
  border-radius: 12px;
  background: #fdfef9;
  padding: 17px;
}
.mini-consent > div {
  display: flex;
  align-items: center;
  gap: 9px;
}
.service-letter {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #e8eee1;
  display: inline-grid;
  place-items: center;
  font-size: 13px;
  font-weight: 650;
  color: #36593f;
}
.mini-consent > div > span:nth-child(2) {
  font-size: 9px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mini-consent small {
  font-size: 6px;
  color: #7c8776;
}
.mini-consent > div > .icon {
  width: 13px;
  height: 13px;
  margin-left: auto;
}
.mini-consent > p {
  font-size: 7px;
  text-align: center;
  color: #7a8670;
  margin-top: 19px;
}
.match-code {
  font-size: 22px;
  letter-spacing: 8px;
  display: block;
  text-align: center;
  margin: 10px 0;
  color: #36513a;
  font-weight: 550;
}
.match-code > span {
  color: #627950;
}
.consent-label {
  font-size: 6px;
  color: #6b785f;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border-top: 1px solid #eef0e7;
  padding-top: 9px;
}
.consent-label .icon {
  width: 10px;
  height: 10px;
}
.feature-simple {
  background: transparent;
  min-height: 210px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding-top: 26px;
}
.feature-icon {
  width: 37px;
  height: 37px;
  border: 1px solid #d9e1d0;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #edf0e6;
}
.feature-icon .icon {
  width: 20px;
  height: 20px;
}
.how-section {
  background: #ecf0e6;
  padding: 91px 0 85px;
  border-top: 1px solid #e4e8dc;
  border-bottom: 1px solid #e4e8dc;
}
.how-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 93px;
  align-items: center;
}
.how-copy h2 {
  font-size: 49px;
  letter-spacing: -2.6px;
  line-height: 1.13;
}
.how-copy h2 em {
  letter-spacing: -2.7px;
  color: #467357;
}
.how-description {
  font-size: 12px;
  line-height: 1.85;
  color: var(--muted);
  max-width: 350px;
  margin-top: 21px;
}
.steps {
  margin-top: 34px;
}
.step {
  display: flex;
  align-items: flex-start;
  text-align: left;
  gap: 17px;
  border: 0;
  border-top: 1px solid #d9e1cf;
  background: transparent;
  padding: 21px 0;
  width: 100%;
  transition: opacity 0.2s;
}
.step:last-child {
  border-bottom: 1px solid #d9e1cf;
}
.step-number {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border: 1px solid #cad6be;
  border-radius: 50%;
  font-size: 9px;
  flex-shrink: 0;
  transition:
    background 0.2s,
    color 0.2s;
}
.step > span:nth-child(2) {
  flex: 1;
}
.step strong {
  font-size: 13px;
  font-weight: 550;
  display: block;
  padding-top: 6px;
}
.step > span > span {
  display: block;
  font-size: 10px;
  line-height: 1.8;
  color: #75816e;
  max-width: 292px;
  margin-top: 8px;
}
.step > .icon {
  width: 17px;
  height: 17px;
  margin-top: 6px;
  color: #87957b;
  transition: transform 0.2s;
}
.step.is-active .step-number {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}
.step.is-active > .icon {
  color: var(--ink);
  transform: translateX(4px);
}
.step:hover .step-number {
  border-color: var(--green);
}
.step-showcase {
  min-height: 510px;
  border: 1px solid #d6dfc9;
  background: #e0e8d3;
  border-radius: 27px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}
.step-showcase:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(#bacbad 0.65px, transparent 0.65px);
  background-size: 16px 16px;
  opacity: 0.4;
  pointer-events: none;
}
.showcase-heading {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 22px 25px;
  font-size: 7px;
  letter-spacing: 1.2px;
  position: relative;
}
.showcase-heading > span:last-child {
  margin-left: auto;
  font-size: 8px;
  color: #617655;
}
.step-scene {
  position: relative;
  display: flex;
  flex: 1;
  min-height: 402px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 10px 26px 12px;
  animation: scene-in 0.3s ease both;
}
.browser-card {
  width: min(302px, 100%);
  background: #fafcf6;
  border: 1px solid #cddac1;
  border-radius: 12px;
  box-shadow: 0 17px 24px -22px #5d724f;
  overflow: hidden;
  transform: rotate(-3deg);
}
.browser-chrome {
  display: flex;
  gap: 4px;
  height: 30px;
  background: #f0f3e9;
  align-items: center;
  padding: 0 11px;
  border-bottom: 1px solid #e4e9d9;
}
.browser-chrome i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #ccd6c1;
}
.browser-chrome > span {
  font-size: 6px;
  margin-inline: auto;
  color: #7c8b6f;
  padding-right: 15px;
}
.browser-body {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 19px 17px 23px;
}
.browser-body .service-letter {
  width: 28px;
  height: 28px;
  font-size: 12px;
}
.browser-body strong {
  font-size: 12px;
  font-weight: 600;
  margin-top: 11px;
}
.browser-body p {
  font-size: 7px;
  color: #7f8c73;
  margin-top: 6px;
}
.illustration-qr {
  width: 129px;
  height: 129px;
  position: relative;
  margin: 19px 0 10px;
  border: 11px solid #fff;
  border-radius: 5px;
  background: repeating-conic-gradient(#315b3f 0 25%, #fff 0 50%) 0 0 / 13px
    13px;
  box-shadow: 0 0 0 1px #e3e9db;
}
.qr-corner {
  position: absolute;
  width: 30px;
  height: 30px;
  border: 6px solid #315b3f;
  background: #fff;
  box-shadow: 0 0 0 5px #fff;
}
.qr-corner:after {
  content: "";
  position: absolute;
  inset: 4px;
  background: #315b3f;
}
.top-left {
  top: 0;
  left: 0;
}
.top-right {
  top: 0;
  right: 0;
}
.bottom-left {
  bottom: 0;
  left: 0;
}
.qr-center {
  position: absolute;
  inset: 38px;
  background: white;
  border-radius: 4px;
  display: grid;
  place-items: center;
}
.qr-center .icon {
  width: 20px;
  height: 20px;
}
.browser-body > small {
  font-size: 5px;
  letter-spacing: 0.75px;
  color: #78896a;
}
.scene-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 8px;
  background: #f6f9ee;
  border: 1px solid #d5dfc6;
  border-radius: 30px;
  padding: 11px 15px;
  transform: rotate(2deg);
  margin-top: 22px;
  box-shadow: 0 7px 15px -12px #64754f;
}
.scene-pill .icon {
  width: 14px;
  height: 14px;
}
.showcase-caption {
  position: relative;
  text-align: center;
  font-size: 7px;
  letter-spacing: 0.2px;
  color: #637654;
  padding: 13px 17px 21px;
}
.verification-card {
  background: #fafcf6;
  border: 1px solid #cddac1;
  border-radius: 17px;
  padding: 21px 25px 22px;
  text-align: center;
  width: min(282px, 100%);
  box-shadow: 0 16px 24px -22px #5d724f;
}
.scene-icon {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: #ebf1df;
  display: inline-grid;
  place-items: center;
}
.scene-icon .icon {
  width: 20px;
  height: 20px;
}
.verification-card > p {
  font-size: 6px;
  letter-spacing: 1.5px;
  color: #718462;
  margin-top: 13px;
}
.verification-card h3 {
  font-size: 20px;
  letter-spacing: -0.5px;
  font-weight: 500;
  margin-top: 5px;
}
.verification-card > span:not(.scene-icon) {
  display: block;
  font-size: 8px;
  color: #718166;
  margin-top: 12px;
}
.verification-code {
  font-size: 31px;
  letter-spacing: 11px;
  padding-left: 11px;
  margin: 15px 0;
  font-weight: 500;
}
.data-request {
  border-top: 1px solid #e5eadb;
  padding-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: left;
  font-size: 7px;
  color: #718166;
}
.data-request strong {
  color: #40593b;
  font-size: 9px;
  font-weight: 500;
}
.illustration-approve {
  margin-top: 17px;
  border-radius: 5px;
  background: #294d37;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 8px;
  padding: 11px;
}
.illustration-approve .icon {
  width: 12px;
  height: 12px;
}
.success-card {
  text-align: center;
  min-height: 292px;
  padding-top: 4px;
}
.success-rings {
  width: 127px;
  height: 127px;
  display: grid;
  place-items: center;
  border: 1px solid #c4d4b3;
  border-radius: 50%;
  position: relative;
  margin: auto;
}
.success-rings:before {
  content: "";
  position: absolute;
  inset: 13px;
  border: 1px solid #c4d4b3;
  border-radius: 50%;
}
.success-rings > span {
  width: 71px;
  height: 71px;
  display: grid;
  place-items: center;
  background: #315d40;
  border-radius: 50%;
  color: #e8f6ce;
  box-shadow: 0 10px 20px -15px #315d40;
}
.success-rings .icon {
  width: 33px;
  height: 33px;
}
.success-card > p {
  font-size: 7px;
  letter-spacing: 1.5px;
  color: #5f7b4e;
  margin-top: 22px;
}
.success-card h3 {
  font-size: 22px;
  letter-spacing: -0.7px;
  font-weight: 500;
  margin-top: 7px;
}
.success-card > span {
  font-size: 10px;
  line-height: 1.8;
  color: #6e8061;
  display: block;
  margin-top: 12px;
}
.success-service {
  background: #edf3e3;
  border: 1px solid #ccdbbc;
  border-radius: 9px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 13px;
  margin: 17px auto 0;
  width: 222px;
  text-align: left;
}
.success-service .service-letter {
  background: #d8e5c7;
  width: 26px;
  height: 26px;
  font-size: 10px;
}
.success-service strong {
  font-size: 9px;
  font-weight: 550;
}
.success-service > .icon {
  width: 14px;
  height: 14px;
  margin-left: auto;
}
.admin-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 105px;
  align-items: center;
}
.admin-intro > p:not(.eyebrow) {
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted);
  max-width: 358px;
  margin-top: 24px;
}
.admin-intro > .text-link {
  margin-top: 27px;
  font-size: 12px;
}
.admin-capabilities article {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 26px 0;
  border-bottom: 1px solid var(--line);
}
.admin-capabilities article:first-child {
  border-top: 1px solid var(--line);
}
.admin-capabilities article > span {
  font-size: 9px;
  color: #75856e;
  padding-top: 6px;
}
.admin-capabilities h3 {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.4px;
  margin-bottom: 10px;
}
.admin-capabilities p {
  font-size: 11px;
  line-height: 1.85;
  color: var(--muted);
  max-width: 300px;
}
.admin-capabilities .icon {
  width: 21px;
  height: 21px;
  margin-left: auto;
  margin-top: 3px;
  color: #647c58;
}
.download-section {
  background: var(--dark);
  border-radius: 28px;
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  gap: 20px;
  padding: 63px 70px;
  overflow: hidden;
  color: #fff;
  position: relative;
}
.download-content {
  position: relative;
  z-index: 1;
}
.download-content .eyebrow {
  font-size: 8px;
  color: #c1d6a4;
  letter-spacing: 1.5px;
}
.download-content h2 {
  font-size: 40px;
  font-weight: 450;
  letter-spacing: -1.6px;
  line-height: 1.17;
  margin-top: 22px;
}
.download-content > p:not(.eyebrow) {
  font-size: 11px;
  line-height: 1.9;
  color: #b3c6b6;
  max-width: 348px;
  margin: 21px 0 24px;
}
.button-lime {
  background: var(--lime);
  color: #173b2c;
  min-height: 51px;
  font-size: 12px;
}
.button-lime:hover {
  background: #e7ffb1;
}
.download-meta {
  display: flex;
  align-items: center;
  gap: 22px;
  font-size: 8px;
  color: #b6c8b6;
  margin-top: 17px;
}
.download-meta > span > span {
  margin: 0 5px;
}
.download-meta a {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.download-meta .icon {
  width: 10px;
  height: 10px;
}
.download-art {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  isolation: isolate;
  min-height: 285px;
}
.download-orbit {
  position: absolute;
  width: 285px;
  height: 285px;
  border: 1px solid #476248;
  border-radius: 50%;
  z-index: -1;
  opacity: 0.55;
}
.download-orbit:before,
.download-orbit:after {
  content: "";
  position: absolute;
  border: 1px solid #476248;
  border-radius: 50%;
}
.download-orbit:before {
  inset: -35px;
}
.download-orbit:after {
  inset: 35px;
}
.download-icon {
  width: 139px;
  height: 139px;
  background: #e5f4ce;
  border: 1px solid #aed997;
  border-radius: 31px;
  transform: rotate(-10deg);
  box-shadow:
    15px 19px 0 -4px rgba(117, 164, 80, 0.16),
    0 22px 36px -22px #071e16;
  display: grid;
  place-items: center;
}
.download-icon img {
  width: 206px;
  height: 206px;
  max-width: none;
}
.download-art-badge {
  font-size: 9px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #45654d;
  background: #254c3d;
  padding: 10px 15px;
  border-radius: 22px;
  margin-top: 33px;
  transform: rotate(3deg);
}
.download-art-badge .icon {
  width: 13px;
  height: 13px;
  color: #cee6b0;
}
.faq-section {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: 78px;
}
.faq-section > div > p:not(.eyebrow) {
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted);
  max-width: 248px;
  margin-top: 22px;
}
.faq-list {
  padding-top: 3px;
}
.faq-list details {
  border-bottom: 1px solid var(--line);
}
.faq-list details:first-child {
  border-top: 1px solid var(--line);
}
.faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  font-size: 12px;
  font-weight: 550;
  line-height: 1.7;
  min-height: 68px;
  padding: 19px 0;
  cursor: pointer;
  list-style: none;
}
.faq-list summary::-webkit-details-marker {
  display: none;
}
.faq-list summary > .icon {
  width: 17px;
  height: 17px;
  color: #71816b;
  transition: transform 0.2s;
}
.faq-list details[open] summary > .icon {
  transform: rotate(45deg);
}
.faq-list details > div {
  padding: 0 32px 23px 0;
  font-size: 11px;
  line-height: 1.9;
  color: var(--muted);
}
.site-footer {
  border-top: 1px solid var(--line);
  padding: 37px 0 23px;
}
.footer-top {
  display: flex;
  align-items: center;
  gap: 33px;
  padding-bottom: 34px;
}
.footer-top .brand {
  font-size: 25px;
}
.footer-top .brand-mark {
  width: 31px;
  height: 35px;
}
.footer-top .brand-mark img {
  width: 48px;
  height: 48px;
}
.footer-top > p {
  font-size: 11px;
  color: #6f7f70;
}
.footer-top > .text-link {
  margin-left: auto;
  font-size: 9px;
}
.footer-top .text-link .icon {
  width: 14px;
  height: 14px;
}
.footer-bottom {
  border-top: 1px solid var(--line);
  padding-top: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 8px;
  color: #72816e;
}
.footer-bottom > div {
  display: flex;
  gap: 25px;
}
.footer-bottom a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 0;
}
.footer-bottom .icon {
  width: 10px;
  height: 10px;
}
@keyframes scene-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero {
  overflow: hidden;
}
.download-icon {
  position: relative;
}
.download-icon img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (min-width: 1440px) {
  .hero h1 {
    font-size: 81px;
  }
  .hero {
    gap: 35px;
  }
  .hero-visual {
    height: 625px;
  }
  .phone {
    transform: rotate(-5deg) scale(1.05);
  }
  .note-identity {
    left: 5px;
  }
  .note-approval {
    right: 10px;
  }
  .hero-description {
    font-size: 16px;
  }
  .hero-actions {
    gap: 27px;
  }
  .section h2 {
    font-size: 42px;
  }
  .how-copy h2 {
    font-size: 53px;
  }
}
@media (max-width: 1150px) {
  .container {
    width: calc(100% - 72px);
  }
  .hero {
    grid-template-columns: 1.08fr 1fr;
    gap: 0;
    min-height: 665px;
  }
  .hero h1 {
    font-size: 62px;
    letter-spacing: -3.8px;
  }
  .hero-actions {
    gap: 17px;
    flex-wrap: wrap;
  }
  .hero-description {
    font-size: 13px;
    max-width: 367px;
  }
  .hero-visual {
    height: 556px;
  }
  .phone {
    transform: rotate(-5deg) scale(0.91);
  }
  .note-identity {
    left: -6px;
    top: 127px;
    padding: 11px 12px;
  }
  .note-identity strong {
    font-size: 9px;
  }
  .note-identity div > span {
    font-size: 6px;
  }
  .note-approval {
    right: -3px;
    bottom: 90px;
    width: 203px;
    padding: 14px;
  }
  .note-approval > strong {
    font-size: 12px;
  }
  .visual-orbit {
    max-width: 135%;
  }
  .trust-strip {
    gap: 15px;
    grid-template-columns: 0.8fr 1.2fr 1.35fr 1.35fr;
  }
  .trust-strip > div {
    font-size: 8px;
    gap: 8px;
  }
  .trust-strip .icon {
    width: 18px;
    height: 18px;
  }
  .how-grid {
    gap: 55px;
  }
  .section-heading {
    gap: 35px;
  }
  .section-heading h2 {
    font-size: 34px;
  }
  .section-heading > p {
    max-width: 249px;
    font-size: 11px;
  }
  .admin-section {
    gap: 60px;
  }
  .download-section {
    padding: 53px 44px;
  }
  .download-content h2 {
    font-size: 35px;
  }
  .faq-section {
    gap: 50px;
  }
  .feature-copy h3 {
    font-size: 18px;
  }
  .feature-copy p {
    font-size: 11px;
  }
  .admin-intro h2 {
    font-size: 34px;
  }
  .admin-capabilities article {
    gap: 16px;
  }
}
@media (max-width: 900px) {
  .container {
    width: calc(100% - 48px);
  }
  .header-inner {
    height: 81px;
  }
  .site-nav {
    gap: 24px;
    font-size: 12px;
  }
  .site-nav .admin-link {
    margin-left: 0;
  }
  .hero {
    min-height: 621px;
  }
  .hero h1 {
    font-size: 50px;
    letter-spacing: -3px;
  }
  .hero-description {
    font-size: 12px;
    max-width: 315px;
  }
  .hero-actions {
    margin-top: 24px;
    gap: 20px;
  }
  .hero-actions .button {
    font-size: 11px;
    min-height: 49px;
    padding: 0 15px;
  }
  .hero-actions .text-link {
    font-size: 10px;
  }
  .hero-actions .button-arrow {
    margin-left: 8px;
  }
  .eyebrow {
    font-size: 8px;
    letter-spacing: 1.2px;
  }
  .download-note {
    font-size: 8px;
    gap: 5px;
  }
  .hero-visual {
    height: 495px;
  }
  .phone {
    transform: rotate(-5deg) scale(0.8);
  }
  .note-identity {
    left: -4px;
    top: 105px;
    padding: 10px;
  }
  .note-icon {
    width: 27px;
    height: 27px;
  }
  .note-identity strong {
    font-size: 8px;
  }
  .note-identity div > span {
    font-size: 5px;
  }
  .note-approval {
    width: 178px;
    padding: 13px 12px;
    bottom: 88px;
    right: -8px;
  }
  .approval-top {
    font-size: 5px;
    letter-spacing: 0.6px;
  }
  .note-approval > strong {
    font-size: 10px;
    margin: 10px 0;
  }
  .note-approval > div {
    font-size: 6px;
  }
  .approval-check {
    width: 23px;
    height: 23px;
  }
  .visual-orbit {
    height: 290px;
  }
  .orbit-two {
    height: 350px;
  }
  .orbit-three {
    height: 390px;
  }
  .hero-visual figcaption {
    bottom: 4px;
    font-size: 7px;
  }
  .trust-strip {
    grid-template-columns: 1fr 1fr;
    gap: 18px 30px;
    padding: 23px 0;
  }
  .trust-strip > div {
    font-size: 10px;
  }
  .trust-strip > p {
    font-size: 9px;
  }
  .trust-strip strong {
    font-size: 11px;
  }
  .section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .section-heading {
    gap: 25px;
  }
  .section-heading h2 {
    font-size: 30px;
  }
  .section-heading > p {
    max-width: 214px;
    font-size: 10px;
  }
  .feature {
    padding: 25px;
  }
  .feature-index {
    top: 22px;
    right: 23px;
  }
  .mini-wallet {
    transform: scale(0.9);
    margin-bottom: 12px;
    max-width: 100%;
  }
  .mini-consent {
    transform: scale(0.92);
    margin-bottom: 17px;
    max-width: 100%;
  }
  .feature-wallet,
  .feature-consent {
    min-height: 326px;
  }
  .feature-copy h3 {
    font-size: 17px;
  }
  .feature-copy p {
    font-size: 11px;
  }
  .feature-simple {
    min-height: 206px;
  }
  .how-grid {
    gap: 30px;
  }
  .how-copy h2 {
    font-size: 42px;
  }
  .how-description {
    font-size: 11px;
  }
  .step {
    gap: 12px;
  }
  .step strong {
    font-size: 11px;
  }
  .step > span > span {
    font-size: 9px;
  }
  .step > .icon {
    width: 14px;
    height: 14px;
  }
  .step-showcase {
    min-height: 491px;
  }
  .showcase-heading {
    padding: 21px 17px;
  }
  .step-scene {
    padding: 10px 17px 12px;
  }
  .admin-section {
    gap: 35px;
  }
  .admin-intro h2 {
    font-size: 30px;
  }
  .admin-intro > p:not(.eyebrow) {
    font-size: 11px;
  }
  .admin-capabilities h3 {
    font-size: 16px;
  }
  .admin-capabilities p {
    font-size: 10px;
  }
  .admin-capabilities article {
    gap: 15px;
  }
  .admin-capabilities .icon {
    width: 17px;
    height: 17px;
  }
  .download-section {
    grid-template-columns: 0.8fr 1.2fr;
    padding: 45px 30px;
    gap: 30px;
  }
  .download-content h2 {
    font-size: 30px;
  }
  .download-content > p:not(.eyebrow) {
    font-size: 10px;
  }
  .download-content .eyebrow {
    font-size: 6px;
  }
  .download-icon {
    transform: rotate(-10deg) scale(0.88);
  }
  .download-orbit {
    width: 213px;
    height: 213px;
  }
  .download-art-badge {
    font-size: 8px;
    padding: 10px 11px;
    white-space: nowrap;
  }
  .download-meta {
    gap: 15px;
    font-size: 7px;
  }
  .download-content .button {
    font-size: 10px;
    padding: 0 16px;
  }
  .download-content .button-arrow {
    margin-left: 10px;
  }
  .faq-section {
    gap: 40px;
    grid-template-columns: 0.75fr 1.25fr;
  }
  .faq-section h2 {
    font-size: 32px;
  }
  .faq-section > div > p:not(.eyebrow) {
    font-size: 11px;
  }
  .faq-list summary {
    font-size: 11px;
    gap: 16px;
  }
  .faq-list details > div {
    font-size: 10px;
  }
  .footer-top {
    gap: 25px;
  }
  .footer-top > p {
    font-size: 10px;
  }
}
@media (max-width: 700px) {
  html {
    scroll-padding-top: 95px;
  }
  .container {
    width: calc(100% - 40px);
  }
  .header-inner {
    height: 75px;
    flex-wrap: wrap;
    gap: 0;
    position: relative;
  }
  .brand {
    font-size: 26px;
  }
  .brand-mark {
    width: 32px;
    height: 36px;
  }
  .brand-mark img {
    width: 49px;
    height: 49px;
  }
  .site-nav {
    width: 100%;
    padding: 15px 0 22px;
    gap: 12px;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .site-nav > a {
    font-size: 11px;
  }
  .site-nav .admin-link {
    padding: 10px 12px;
    gap: 8px;
  }
  .header-inner:has(.site-nav) {
    height: auto;
    min-height: 75px;
    padding-top: 19px;
  }
  .navigation-ready .header-inner {
    height: 75px;
    padding-top: 0;
  }
  .navigation-ready .site-nav {
    display: none;
    position: absolute;
    top: 75px;
    left: -20px;
    width: calc(100% + 40px);
    background: var(--paper);
    padding: 13px 20px 23px;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 15px 20px -20px #5f7864;
  }
  .navigation-ready .site-nav.is-open {
    display: flex;
  }
  .menu-toggle {
    width: 42px;
    height: 42px;
    padding: 10px 7px;
    border: 1px solid #d7dfd0;
    border-radius: 7px;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
  }
  .menu-toggle span {
    width: 18px;
    height: 1.5px;
    background: var(--ink);
    transition: transform 0.2s;
  }
  .menu-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(3.25px) rotate(45deg);
  }
  .menu-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-3.25px) rotate(-45deg);
  }
  .hero {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 47px;
    padding-bottom: 24px;
    min-height: 0;
  }
  .hero-copy {
    padding-bottom: 0;
  }
  .hero .eyebrow {
    font-size: 8px;
    letter-spacing: 1.5px;
  }
  .hero h1 {
    font-size: clamp(42px, 9.4vw, 64px);
    line-height: 1.08;
    letter-spacing: -2.8px;
    margin: 23px 0 20px;
  }
  .hero h1 em {
    letter-spacing: -2.8px;
  }
  .hero-description {
    max-width: 435px;
    font-size: 13px;
    line-height: 1.8;
  }
  .hero-actions {
    gap: 23px;
    margin-top: 26px;
    flex-wrap: wrap;
  }
  .hero-actions .button {
    min-height: 51px;
    font-size: 12px;
    padding: 0 17px;
  }
  .hero-actions .text-link {
    font-size: 10px;
  }
  .download-note {
    margin-top: 17px;
    font-size: 9px;
    gap: 7px;
  }
  .hero-visual {
    height: 514px;
    max-width: 440px;
    width: 100%;
    margin: 3px auto 0;
  }
  .hero-visual:before {
    inset: 45px -20px 25px;
  }
  .phone {
    transform: rotate(-5deg) scale(0.85);
  }
  .note-identity {
    top: 111px;
    left: 1px;
    padding: 12px 13px;
  }
  .note-identity strong {
    font-size: 9px;
  }
  .note-identity div > span {
    font-size: 6px;
  }
  .note-approval {
    bottom: 73px;
    right: 1px;
    width: 196px;
    padding: 14px;
  }
  .approval-top {
    font-size: 5px;
    letter-spacing: 0.9px;
  }
  .note-approval > strong {
    font-size: 11px;
  }
  .note-approval > div {
    font-size: 6px;
  }
  .visual-orbit {
    max-width: 115%;
    height: 300px;
  }
  .orbit-two {
    height: 355px;
    max-width: 130%;
  }
  .orbit-three {
    height: 412px;
    max-width: 140%;
  }
  .hero-visual figcaption {
    bottom: 1px;
  }
  .hero {
    overflow: hidden;
  }
  .hero-visual .spark-one {
    left: 15px;
    top: 176px;
  }
  .hero-visual .spark-two {
    right: 11px;
    bottom: 145px;
  }
  .trust-strip {
    gap: 23px 14px;
    padding: 23px 0 25px;
  }
  .trust-strip > div {
    font-size: 8px;
    white-space: normal;
    line-height: 1.65;
    gap: 8px;
  }
  .trust-strip > p {
    font-size: 8px;
  }
  .trust-strip strong {
    font-size: 10px;
  }
  .trust-strip .icon {
    width: 19px;
    height: 19px;
  }
  .section {
    padding-top: 62px;
    padding-bottom: 62px;
  }
  .section-eyebrow {
    margin-bottom: 17px;
    font-size: 8px;
    letter-spacing: 1.3px;
  }
  .section-heading {
    display: block;
    margin-bottom: 28px;
  }
  .section-heading h2 {
    font-size: 31px;
    letter-spacing: -1.4px;
  }
  .section-heading > p {
    font-size: 12px;
    max-width: 355px;
    margin-top: 20px;
    line-height: 1.8;
  }
  .feature-grid {
    grid-template-columns: 1fr;
    gap: 13px;
  }
  .feature-copy h3 {
    font-size: 19px;
    margin-bottom: 9px;
  }
  .feature-copy p {
    font-size: 12px;
    max-width: 420px;
  }
  .mini-wallet {
    transform: scale(1);
    margin-bottom: 21px;
  }
  .mini-consent {
    transform: scale(1);
    margin-top: 8px;
    margin-bottom: 26px;
  }
  .feature-simple {
    padding: 22px 20px;
    gap: 26px;
  }
  .feature-simple .feature-copy h3 {
    font-size: 17px;
    line-height: 1.3;
  }
  .feature-simple .feature-copy p {
    font-size: 10px;
    line-height: 1.8;
  }
  .feature-index {
    right: 20px;
    top: 22px;
  }
  .feature-simple .feature-index {
    font-size: 8px;
  }
  .feature-icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
  }
  .feature-icon .icon {
    width: 18px;
    height: 18px;
  }
  .how-section {
    padding: 58px 0 49px;
  }
  .how-grid {
    grid-template-columns: 1fr;
    gap: 31px;
  }
  .how-copy h2 {
    font-size: 43px;
    letter-spacing: -2px;
  }
  .how-description {
    font-size: 12px;
    max-width: 335px;
    margin-top: 19px;
  }
  .steps {
    margin-top: 27px;
  }
  .step {
    gap: 15px;
    padding: 18px 0;
  }
  .step strong {
    font-size: 12px;
  }
  .step > span > span {
    font-size: 10px;
    max-width: 360px;
  }
  .step > .icon {
    width: 17px;
    height: 17px;
    margin-left: 7px;
  }
  .step-showcase {
    min-height: 491px;
    max-width: 480px;
    width: 100%;
    margin: auto;
  }
  .showcase-heading {
    padding: 22px;
  }
  .step-scene {
    padding: 7px 25px 12px;
    min-height: 395px;
  }
  .showcase-caption {
    font-size: 8px;
  }
  .admin-section {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .admin-intro h2 {
    font-size: 33px;
  }
  .admin-intro > p:not(.eyebrow) {
    font-size: 12px;
    max-width: 435px;
    line-height: 1.9;
    margin-top: 21px;
  }
  .admin-intro > .text-link {
    margin-top: 22px;
  }
  .admin-capabilities article {
    gap: 20px;
    padding: 24px 0;
  }
  .admin-capabilities h3 {
    font-size: 18px;
  }
  .admin-capabilities p {
    font-size: 11px;
    max-width: 370px;
  }
  .admin-capabilities .icon {
    width: 21px;
    height: 21px;
  }
  .admin-capabilities article > span {
    font-size: 9px;
  }
  .download-section {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 32px 28px 36px;
    border-radius: 22px;
  }
  .download-art {
    min-height: 218px;
    width: 100%;
    margin-bottom: 22px;
  }
  .download-icon {
    transform: rotate(-10deg) scale(0.75);
  }
  .download-orbit {
    width: 198px;
    height: 198px;
  }
  .download-orbit:before {
    inset: -26px;
  }
  .download-orbit:after {
    inset: 29px;
  }
  .download-art-badge {
    margin-top: 8px;
    font-size: 8px;
  }
  .download-content .eyebrow {
    font-size: 7px;
    letter-spacing: 1.35px;
  }
  .download-content h2 {
    font-size: 35px;
    line-height: 1.14;
    letter-spacing: -1.6px;
    margin-top: 20px;
  }
  .download-content > p:not(.eyebrow) {
    font-size: 11px;
    max-width: 375px;
    margin: 18px 0 22px;
  }
  .download-content .button {
    font-size: 11px;
    min-height: 53px;
    padding: 0 17px;
  }
  .download-content .button-arrow {
    margin-left: 12px;
  }
  .download-meta {
    font-size: 8px;
    gap: 21px;
    margin-top: 17px;
    flex-wrap: wrap;
  }
  .faq-section {
    grid-template-columns: 1fr;
    gap: 31px;
  }
  .faq-section h2 {
    font-size: 35px;
  }
  .faq-section > div > p:not(.eyebrow) {
    font-size: 12px;
    max-width: 340px;
    margin-top: 19px;
  }
  .faq-list summary {
    font-size: 12px;
    gap: 22px;
    min-height: 70px;
    padding: 19px 0;
  }
  .faq-list details > div {
    font-size: 11px;
    line-height: 1.9;
    padding-right: 12px;
  }
  .site-footer {
    padding: 29px 0 21px;
  }
  .footer-top {
    flex-wrap: wrap;
    gap: 18px;
    padding-bottom: 25px;
  }
  .footer-top .brand {
    font-size: 25px;
  }
  .footer-top > p {
    font-size: 9px;
    margin-left: auto;
  }
  .footer-top > .text-link {
    margin-left: 0;
    font-size: 9px;
    width: 100%;
  }
  .footer-bottom {
    font-size: 8px;
    flex-direction: column;
    align-items: flex-start;
    gap: 17px;
    padding-top: 22px;
  }
  .footer-bottom > div {
    gap: 24px;
  }
  .footer-bottom a {
    font-size: 9px;
  }
}
@media (max-width: 370px) {
  .container {
    width: calc(100% - 32px);
  }
  .hero h1 {
    font-size: 40px;
    letter-spacing: -2.5px;
  }
  .hero-actions {
    gap: 19px;
  }
  .hero-actions .text-link {
    font-size: 9px;
  }
  .hero-actions .button {
    font-size: 10px;
    padding: 0 13px;
  }
  .hero-actions .button .icon {
    width: 16px;
    height: 16px;
  }
  .hero-actions .button-arrow {
    margin-left: 3px;
  }
  .hero-description {
    font-size: 12px;
  }
  .download-note {
    font-size: 8px;
    gap: 5px;
  }
  .hero-visual {
    height: 480px;
  }
  .phone {
    transform: rotate(-5deg) scale(0.77);
  }
  .note-identity {
    top: 105px;
    left: -2px;
    padding: 10px;
  }
  .note-identity strong {
    font-size: 8px;
  }
  .note-identity div > span {
    font-size: 5px;
  }
  .note-approval {
    right: -2px;
    width: 176px;
    bottom: 76px;
    padding: 12px;
  }
  .note-approval > strong {
    font-size: 10px;
  }
  .section-heading h2 {
    font-size: 28px;
  }
  .feature-simple {
    padding: 20px 16px;
  }
  .feature-simple .feature-copy h3 {
    font-size: 15px;
  }
  .feature-simple .feature-copy p {
    font-size: 9px;
  }
  .download-section {
    padding: 26px 23px 31px;
  }
  .download-content h2 {
    font-size: 30px;
  }
  .download-content .eyebrow {
    font-size: 6px;
  }
  .download-meta {
    gap: 13px;
  }
  .download-content .button {
    font-size: 10px;
    padding: 0 14px;
  }
  .download-content .button-arrow {
    margin-left: 4px;
  }
  .navigation-ready .site-nav {
    left: -16px;
    width: calc(100% + 32px);
    padding-inline: 16px;
  }
}
/* Keep reading text comfortable and secondary labels legible on every surface. */
:root {
  --muted: #53634f;
}
.download-note,
.trust-strip > p,
.feature-index,
.admin-capabilities article > span,
.footer-top > p,
.footer-bottom {
  color: #5c6d56;
}
.step > span > span,
.mini-consent small,
.mini-consent > p {
  color: #586c4d;
}
.hero-description {
  font-size: 16px;
}
.section-heading > p,
.feature-copy p,
.how-description,
.admin-intro > p:not(.eyebrow),
.admin-capabilities p,
.download-content > p:not(.eyebrow),
.faq-section > div > p:not(.eyebrow),
.faq-list details > div {
  font-size: 14px;
}
.step strong,
.faq-list summary {
  font-size: 14px;
}
.step > span > span {
  font-size: 12px;
}
.text-link {
  font-size: 13px;
}
.footer-top > p {
  font-size: 12px;
}
.footer-bottom {
  font-size: 10px;
}
@media (max-width: 900px) {
  .hero-description {
    font-size: 14px;
  }
  .section-heading > p,
  .feature-copy p,
  .how-description,
  .admin-intro > p:not(.eyebrow),
  .admin-capabilities p,
  .download-content > p:not(.eyebrow),
  .faq-section > div > p:not(.eyebrow),
  .faq-list details > div {
    font-size: 13px;
  }
  .step strong,
  .faq-list summary {
    font-size: 13px;
  }
  .step > span > span {
    font-size: 11px;
  }
  .footer-top > p {
    font-size: 10px;
  }
}
@media (max-width: 700px) {
  .hero-description {
    font-size: 14px;
  }
  .section-heading > p,
  .feature-copy p,
  .how-description,
  .admin-intro > p:not(.eyebrow),
  .admin-capabilities p,
  .download-content > p:not(.eyebrow),
  .faq-section > div > p:not(.eyebrow),
  .faq-list details > div {
    font-size: 14px;
  }
  .feature-simple .feature-copy p {
    font-size: 12px;
  }
  .step strong,
  .faq-list summary {
    font-size: 14px;
  }
  .step > span > span {
    font-size: 12px;
  }
  .step-showcase {
    margin-top: 2px;
  }
  .footer-bottom a {
    font-size: 11px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
}
