.app-body--public {
  background:
    radial-gradient(circle at 8% 0%, rgba(0, 155, 142, .12), transparent 34rem),
    radial-gradient(circle at 94% 20%, rgba(242, 185, 72, .11), transparent 27rem),
    linear-gradient(180deg, #f7fbfa 0%, #fff 46%, #eef6f4 100%);
}

body.pwa-onboarding-open { overflow: hidden; }
.public-main:has(.landing) { max-width: none; padding: 0; }
.landing { color: #102c31; overflow: hidden; }

.landing-hero,
.landing-capabilities,
.landing-path,
.landing-club-cta {
  width: min(1180px, calc(100% - 2rem));
  margin-inline: auto;
}

.landing-hero {
  min-height: min(47rem, calc(100vh - 5rem));
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(25rem, .98fr);
  align-items: center;
  gap: clamp(2.5rem, 6vw, 6rem);
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
}

.landing-eyebrow {
  display: inline-flex;
  color: #0b7563;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.landing-hero h1 {
  max-width: 15ch;
  margin: 1rem 0 1.3rem;
  color: #061f25;
  font-size: clamp(2.35rem, 5vw, 4.65rem);
  font-weight: 900;
  line-height: 1.13;
  letter-spacing: -.035em;
  text-wrap: balance;
}
html[dir="rtl"] .landing-hero h1 { letter-spacing: -.025em; }

.landing-hero__statement {
  max-width: 43rem;
  margin: 0 0 .7rem;
  color: #0b6858;
  font-size: clamp(1.02rem, 1.7vw, 1.26rem);
  font-weight: 820;
  line-height: 1.9;
}

.landing-hero__description,
.landing-capability p,
.landing-path p,
.landing-club-cta p { color: #506b6f; line-height: 1.95; }
.landing-hero__description { max-width: 41rem; margin: 0; font-size: .98rem; }
.landing-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1.8rem 1.35rem; }
.landing-hero__actions .btn { min-width: 9.5rem; }
.landing-primary-action { box-shadow: 0 1rem 2.2rem rgba(0, 133, 119, .22); }

.landing-trust-list { display: flex; flex-wrap: wrap; gap: .7rem 1.15rem; margin: 0; padding: 0; color: #536e71; font-size: .79rem; font-weight: 720; list-style: none; }
.landing-trust-list li { display: inline-flex; align-items: center; gap: .38rem; }
.landing-trust-list svg { width: 1rem; height: 1rem; fill: none; stroke: #0e8e77; stroke-width: 2.3; }

.landing-operations { position: relative; isolation: isolate; }
.landing-operations__glow { position: absolute; inset: 10% -8%; z-index: -1; border-radius: 50%; background: radial-gradient(circle, rgba(0, 155, 142, .23), rgba(0, 155, 142, 0) 68%); filter: blur(15px); }
.landing-operations__window { position: relative; overflow: hidden; padding: clamp(1.1rem, 3vw, 1.6rem); border: 1px solid rgba(12, 101, 87, .16); border-radius: 1.9rem; background: linear-gradient(150deg, rgba(255,255,255,.97), rgba(232,245,242,.91)); box-shadow: 0 2.4rem 5rem rgba(7, 43, 48, .16), inset 0 1px rgba(255,255,255,.8); }
.landing-operations__window::before { content: ""; position: absolute; inset-inline-end: -5rem; inset-block-start: -5rem; width: 14rem; height: 14rem; border-radius: 50%; background: rgba(242, 185, 72, .16); filter: blur(8px); }
.landing-operations__header { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; }
.landing-operations__brand { display: inline-flex; align-items: center; gap: .55rem; color: #0b3c43; letter-spacing: .08em; }
.landing-operations__brand img { width: 2.15rem; height: 2.15rem; object-fit: contain; }
.landing-live-status { display: inline-flex; align-items: center; gap: .42rem; padding: .42rem .65rem; border: 1px solid #bee4da; border-radius: 999px; background: #f0fbf8; color: #08705e; font-size: .68rem; font-weight: 850; }
.landing-live-status i { width: .47rem; height: .47rem; border-radius: 50%; background: #10a37f; box-shadow: 0 0 0 .25rem rgba(16,163,127,.12); }

.landing-event-card { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; padding: 1.05rem; border: 1px solid #d7e8e4; border-radius: 1rem; background: rgba(255,255,255,.9); }
.landing-event-card__icon { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: .85rem; background: #e4f8f3; color: #087963; }
.landing-event-card__icon svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.landing-event-card div { display: grid; gap: .18rem; min-width: 0; }
.landing-event-card small { color: #70878a; font-size: .68rem; }
.landing-event-card strong { color: #12353a; font-size: .91rem; }
.landing-event-card__badge { padding: .3rem .48rem; border-radius: .45rem; background: #102f35; color: #fff; font-size: .62rem; font-weight: 900; letter-spacing: .08em; }

.landing-metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin-block: .7rem; }
.landing-metric-grid div { display: grid; gap: .18rem; padding: .8rem; border: 1px solid rgba(14,114,96,.12); border-radius: .85rem; background: rgba(255,255,255,.72); }
.landing-metric-grid span { color: #708589; font-size: .64rem; }
.landing-metric-grid strong { color: #0b4c43; font-size: 1.02rem; }

.landing-flow { display: grid; gap: .1rem; padding: 1rem; border-radius: 1rem; background: #0c2c32; color: #ecfffb; }
.landing-flow div { position: relative; display: grid; grid-template-columns: 2rem 1fr; align-items: center; gap: .65rem; min-height: 2.5rem; }
.landing-flow span { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border: 1px solid rgba(135,230,207,.35); border-radius: 50%; color: #8ce1ce; font-size: .62rem; font-weight: 850; }
.landing-flow strong { font-size: .78rem; font-weight: 750; }
.landing-flow i { position: absolute; inset-inline-start: .89rem; inset-block-start: 2.1rem; width: 1px; height: .6rem; background: rgba(135,230,207,.28); }

.landing-capabilities { padding-block: clamp(4rem, 8vw, 6.5rem); }
.landing-section-heading { max-width: 48rem; margin-bottom: 2.1rem; }
.landing-section-heading--centered { margin-inline: auto; text-align: center; }
.landing-section-heading h2,
.landing-club-cta h2,
.pwa-onboarding h2 { margin: .7rem 0 0; color: #0b2a30; font-size: clamp(1.75rem, 3.5vw, 2.8rem); font-weight: 880; line-height: 1.4; text-wrap: balance; }
.landing-capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.landing-capability { padding: 1.6rem; border: 1px solid #d9e8e5; border-radius: 1.3rem; background: rgba(255,255,255,.84); box-shadow: 0 .8rem 2rem rgba(24,62,67,.055); }
.landing-capability__icon { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: .9rem; background: #e8f8f4; color: #0b806b; }
.landing-capability__icon svg { width: 1.45rem; height: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.landing-capability h3 { margin: 1.5rem 0 .55rem; color: #12353a; font-size: 1.16rem; }
.landing-capability p { margin: 0; font-size: .88rem; }

.landing-path { display: grid; grid-template-columns: minmax(17rem, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; padding-block: 1rem clamp(5rem, 9vw, 8rem); }
.landing-path__steps { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.landing-path__steps li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.15rem; border: 1px solid #d9e8e5; border-radius: 1rem; background: rgba(255,255,255,.76); }
.landing-path__steps > li > span { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: .75rem; background: #0d6f5f; color: #fff; font-weight: 900; }
.landing-path__steps div { display: grid; gap: .2rem; }
.landing-path__steps strong { color: #15383d; }
.landing-path__steps p { margin: 0; font-size: .82rem; }

.landing-club-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2rem; margin-block: 0 6rem; padding: clamp(1.8rem, 5vw, 3.5rem); border-radius: 1.8rem; color: #eaf8f5; background: radial-gradient(circle at 90% 0%, rgba(34,211,175,.2), transparent 25rem), linear-gradient(135deg, #092a31, #0c6658); box-shadow: 0 2rem 4rem rgba(7,31,37,.18); }
.landing-club-cta .landing-eyebrow { color: #81dec9; }
.landing-club-cta h2 { max-width: 24ch; color: #fff; }
.landing-club-cta p { max-width: 54rem; margin-bottom: 0; color: #c8dfda; }

.pwa-onboarding { position: fixed; inset: 0; z-index: 1200; display: grid; align-items: end; }
.pwa-onboarding[hidden] { display: none; }
.pwa-onboarding__backdrop { position: absolute; inset: 0; border: 0; background: rgba(3,20,24,.68); backdrop-filter: blur(4px); }
.pwa-onboarding__sheet { position: relative; width: min(42rem, 100%); max-height: 88vh; overflow: auto; margin-inline: auto; padding: 1.25rem clamp(1.25rem, 5vw, 2.5rem) calc(1.5rem + env(safe-area-inset-bottom)); border-radius: 1.5rem 1.5rem 0 0; background: #fff; box-shadow: 0 -1rem 4rem rgba(0,0,0,.24); }
.pwa-onboarding__handle { width: 3rem; height: .3rem; margin: 0 auto 1.25rem; border-radius: 1rem; background: #c9d9d6; }
.pwa-onboarding h2 { font-size: clamp(1.5rem, 7vw, 2.2rem); }
.pwa-onboarding p { color: #4d676b; line-height: 1.75; }
.pwa-onboarding__steps { margin-block: 1rem; padding-inline-start: 1.4rem; color: #24484e; line-height: 1.9; }
.pwa-onboarding__actions { display: grid; gap: .6rem; margin-top: 1.25rem; }
.pwa-onboarding__status:empty { display: none; }
.pwa-onboarding__status[data-state="error"] { color: #a52727; }
.pwa-onboarding__status[data-state="success"] { color: #087660; }

@media (max-width: 58rem) {
  .landing-hero { grid-template-columns: 1fr; padding-block-start: 3.5rem; }
  .landing-hero__content { max-width: 45rem; }
  .landing-operations { width: min(38rem, 100%); margin-inline: auto; }
  .landing-capability-grid { grid-template-columns: 1fr; }
  .landing-capability { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; }
  .landing-capability h3 { margin: .2rem 0 .4rem; }
  .landing-capability p { grid-column: 2; }
  .landing-path { grid-template-columns: 1fr; gap: 1rem; }
}

@media (max-width: 42rem) {
  .landing-hero, .landing-capabilities, .landing-path, .landing-club-cta { width: min(100% - 1.25rem, 1180px); }
  .landing-hero { min-height: auto; gap: 2.5rem; padding-block: 3rem 4.5rem; }
  .landing-hero h1 { max-width: none; font-size: clamp(2rem, 10vw, 3.1rem); line-height: 1.25; }
  .landing-hero__actions { display: grid; }
  .landing-hero__actions .btn { width: 100%; }
  .landing-trust-list { display: grid; gap: .6rem; }
  .landing-operations__window { padding: .85rem; border-radius: 1.35rem; }
  .landing-event-card { grid-template-columns: auto 1fr; }
  .landing-event-card__badge { display: none; }
  .landing-metric-grid div { padding: .65rem .55rem; }
  .landing-capability { grid-template-columns: 1fr; }
  .landing-capability h3 { margin-top: 1.15rem; }
  .landing-capability p { grid-column: 1; }
  .landing-path__steps li { padding: .9rem; }
  .landing-club-cta { grid-template-columns: 1fr; }
  .landing-club-cta .btn { width: 100%; }
}

@media (min-width: 45rem) {
  .pwa-onboarding { align-items: center; padding: 1rem; }
  .pwa-onboarding__sheet { border-radius: 1.5rem; }
}

@media (prefers-reduced-motion: no-preference) {
  .landing-hero__content { animation: landing-rise .5s ease-out both; }
  .landing-operations { animation: landing-rise .65s .08s ease-out both; }
  .pwa-onboarding__sheet { animation: landing-sheet .28s ease-out both; }
  @keyframes landing-rise { from { opacity: 0; transform: translateY(1rem); } }
  @keyframes landing-sheet { from { opacity: 0; transform: translateY(2rem); } }
}
