:root {
  --ink: #092517;
  --forest: #0d321d;
  --forest-soft: #154a2c;
  --green: #20c65a;
  --green-deep: #129643;
  --mint: #e8f8ee;
  --lime: #a5f26d;
  --paper: #f7f8f3;
  --line: rgba(9, 37, 23, .13);
  --muted: #617066;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 99; background: white; padding: .7rem 1rem; border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
.page-glow { position: absolute; width: min(62vw, 62rem); height: 36rem; right: -19rem; top: -16rem; border-radius: 50%; background: radial-gradient(circle, rgba(165,242,109,.36), rgba(165,242,109,0) 69%); pointer-events: none; }
.section-shell { width: min(1180px, calc(100% - 3rem)); margin: 0 auto; }

.site-header { width: min(1240px, calc(100% - 3rem)); height: 88px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 5; }
.brand { display: inline-flex; align-items: center; gap: .56rem; font-size: 1.36rem; line-height: 1; font-weight: 800; letter-spacing: -.07em; }
.brand img { width: 2.25rem; height: 2.25rem; object-fit: contain; }
.brand span { transform: translateY(-.02em); }
.site-nav { display: flex; align-items: center; gap: 1.65rem; font-size: .9rem; font-weight: 650; }
.site-nav > a:not(.nav-cta):not(.nav-login) { color: #3c5144; transition: color .2s; }
.site-nav > a:not(.nav-cta):not(.nav-login):hover { color: var(--green-deep); }
.nav-login { padding: .68rem .95rem; color: var(--green-deep); border: 1px solid #a8cdb4; border-radius: 999px; transition: transform .2s, border-color .2s, background .2s; }
.nav-login:hover { transform: translateY(-2px); border-color: var(--green); background: #eff8f1; }
.nav-cta { padding: .78rem 1rem; color: white; background: var(--forest); border-radius: 999px; transition: transform .2s, background .2s; }
.nav-cta:hover, .button-primary:hover { transform: translateY(-2px); background: #174b2a; }
.menu-button { display: none; border: 0; padding: .65rem .8rem; background: transparent; color: var(--ink); font: inherit; font-weight: 700; }

.hero { min-height: 660px; padding: 6.8rem 0 5rem; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 2.5rem; position: relative; }
.eyebrow { display: flex; align-items: center; gap: .55rem; margin: 0 0 1.25rem; color: var(--green-deep); font-size: .71rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: 1.6rem; height: 2px; background: currentColor; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 700px; margin-bottom: 1.55rem; font-size: clamp(3.45rem, 7.15vw, 6.75rem); font-weight: 760; line-height: .9; letter-spacing: -.085em; }
h1 em, h2 em { color: var(--green-deep); font-family: var(--serif); font-weight: 400; letter-spacing: -.09em; }
.hero-lead { max-width: 37rem; color: #405247; font-size: 1.12rem; line-height: 1.62; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin: 2.15rem 0 1.2rem; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: .75rem; min-height: 3.3rem; padding: .85rem 1.25rem; border-radius: 999px; font-size: .94rem; font-weight: 750; transition: transform .2s, background .2s, color .2s; }
.button-primary { color: white; background: var(--forest); }
.button-quiet { border: 1px solid var(--line); color: var(--forest); background: rgba(255,255,255,.42); }
.button-quiet:hover { color: var(--green-deep); border-color: rgba(18,150,67,.45); }
.hero-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .45rem; margin-bottom: .65rem; color: var(--forest-soft); font-size: .92rem; font-weight: 650; }
.hero-price strong { color: var(--green-deep); font-size: 1.06rem; letter-spacing: -.03em; }
.hero-price span { color: var(--muted); font-size: .73rem; font-weight: 600; }
.hero-note { color: var(--muted); font-size: .76rem; }

.hero-visual { min-height: 485px; display: grid; place-items: center; position: relative; isolation: isolate; }
.orbit { position: absolute; border: 1px solid rgba(32,198,90,.25); border-radius: 50%; z-index: -1; }
.orbit-one { width: 31rem; height: 31rem; }
.orbit-two { width: 40rem; height: 24rem; transform: rotate(-26deg); }
.hero-brand-mark { position: absolute; z-index: 0; top: 1.4rem; right: -.8rem; width: 11.25rem; height: 11.25rem; object-fit: contain; filter: drop-shadow(0 18px 28px rgba(9, 66, 31, .17)); transform: rotate(7deg); pointer-events: none; }
.report-card { width: min(28rem, 94%); min-height: 30rem; padding: 1.45rem; color: #eaffef; background: linear-gradient(150deg, #0e351d 0%, #164f2d 100%); border: 1px solid rgba(255,255,255,.16); border-radius: 1.3rem; box-shadow: 0 30px 80px rgba(9,37,23,.25); transform: rotate(-4deg); }
.report-card-head { display: flex; align-items: center; gap: .48rem; color: #c6e8d0; font-size: .75rem; font-weight: 700; }
.report-card-head span:last-child { margin-left: auto; letter-spacing: .15em; }
.report-dot { width: .55rem; height: .55rem; border-radius: 50%; background: var(--lime); }
.report-label { margin: 3.15rem 0 .45rem; color: #9ec9ab; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.report-total span { display: block; font-size: .92rem; }
.report-total strong { display: block; margin-top: .28rem; color: white; font-size: 3.35rem; line-height: 1; letter-spacing: -.08em; }
.report-total small { font-size: .94rem; font-weight: 600; letter-spacing: -.03em; }
.bar-chart { height: 9.7rem; margin: 2rem 0 1.5rem; display: flex; align-items: end; gap: .53rem; border-bottom: 1px solid rgba(255,255,255,.22); }
.bar-chart i { width: 100%; min-height: 18%; display: block; border-radius: .35rem .35rem 0 0; background: #37d56d; }
.bar-chart i:nth-child(2) { height: 38%; background: #7ee69a; }.bar-chart i:nth-child(3) { height: 29%; }.bar-chart i:nth-child(4) { height: 55%; background: #b1f39c; }.bar-chart i:nth-child(5) { height: 47%; }.bar-chart i:nth-child(6) { height: 76%; background: #d8f7bc; }.bar-chart i:nth-child(7) { height: 66%; }
.scope-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.scope-grid div { padding: .75rem; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.09); border-radius: .7rem; }.scope-grid span { display: block; color: #a8cbb2; font-size: .72rem; }.scope-grid b { display: block; margin-top: .28rem; color: white; font-size: 1.08rem; }
.report-footer { display: flex; gap: .35rem; margin-top: 1.25rem; }.report-footer span { width: 2.65rem; height: .24rem; border-radius: 99px; background: rgba(255,255,255,.23); }.report-footer span:first-child { width: 5.3rem; background: #43db77; }
.metric-chip { position: absolute; padding: .85rem 1rem; background: white; border: 1px solid rgba(9,37,23,.08); border-radius: .8rem; box-shadow: 0 18px 42px rgba(9,37,23,.13); }.metric-chip small { display: block; color: #637b69; font-size: .57rem; font-weight: 800; letter-spacing: .08em; }.metric-chip strong { display: block; margin-top: .16rem; font-size: 1.3rem; letter-spacing: -.06em; }.chip-top { top: 2.1rem; right: 1%; }.chip-bottom { bottom: 3rem; left: -1%; min-width: 10.8rem; }.chip-bottom strong { color: var(--green-deep); }.chip-bottom i { display: block; height: .3rem; margin-top: .58rem; border-radius: 2rem; background: linear-gradient(90deg, var(--green) 18%, #e6efe8 18%); }

.proof-band { max-width: 1300px; margin: 0 auto; padding: 1.35rem 2rem; display: grid; grid-template-columns: repeat(3, 1fr); background: var(--forest); color: white; border-radius: 1.2rem; }.proof-band > div { display: flex; align-items: center; justify-content: center; gap: .85rem; min-height: 4rem; border-right: 1px solid rgba(255,255,255,.15); }.proof-band > div:last-child { border: none; }.proof-band strong { color: var(--lime); font-size: 1.75rem; line-height: 1; letter-spacing: -.07em; }.proof-band span { color: #c4d8c9; font-size: .76rem; line-height: 1.35; }

.flow-section { padding: 11rem 0 9rem; display: grid; grid-template-columns: .9fr 1.1fr; gap: 6rem; }.section-intro h2, .capabilities h2, .report-copy h2, .closing h2 { margin-bottom: 1.5rem; font-size: clamp(2.7rem, 5vw, 4.5rem); line-height: .96; letter-spacing: -.075em; }.section-intro > p:last-child { max-width: 27rem; color: var(--muted); font-size: 1.02rem; line-height: 1.7; }
.flow-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }.flow-list li { display: grid; grid-template-columns: 3.6rem 1fr; gap: 1rem; padding: 1.35rem 0; border-bottom: 1px solid var(--line); transition: padding-left .2s, background .2s; }.flow-list li:hover { padding-left: .7rem; background: rgba(32,198,90,.04); }.flow-list span { color: var(--green-deep); font-size: .74rem; font-weight: 800; }.flow-list h3 { margin-bottom: .28rem; font-size: 1.08rem; letter-spacing: -.035em; }.flow-list p { margin: 0; color: var(--muted); font-size: .9rem; }

.capabilities { padding-bottom: 10rem; }.capabilities-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 2.7rem; }.capabilities-heading h2 { margin: 0; }.capability-grid { display: grid; grid-template-columns: 1.08fr .92fr .92fr; gap: 1rem; }.capability-card { min-height: 25rem; padding: 1.65rem; display: flex; flex-direction: column; border-radius: 1.2rem; overflow: hidden; }.card-dark { color: white; background: var(--forest); }.card-mint { background: #c9f5d1; }.card-white { background: white; border: 1px solid var(--line); }.icon-round { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border-radius: 50%; font-size: 1.25rem; }.card-dark .icon-round { color: var(--forest); background: var(--lime); }.card-mint .icon-round { background: #80d691; }.card-white .icon-round { background: var(--mint); color: var(--green-deep); }.card-index { margin: auto 0 1.2rem; font-size: .68rem; font-weight: 800; letter-spacing: .1em; }.capability-card h3 { max-width: 17rem; margin-bottom: .7rem; font-size: 1.5rem; letter-spacing: -.055em; line-height: 1.04; }.capability-card > p:not(.card-index) { max-width: 20rem; margin-bottom: 0; color: #456053; font-size: .89rem; line-height: 1.55; }.card-dark > p:not(.card-index) { color: #b5cfbd; }.mini-graph { height: 4.4rem; margin-top: 1.6rem; display: flex; align-items: end; gap: .35rem; }.mini-graph i { flex: 1; height: 25%; display: block; border-radius: .25rem .25rem 0 0; background: var(--green); }.mini-graph i:nth-child(2) { height: 47%; }.mini-graph i:nth-child(3) { height: 39%; }.mini-graph i:nth-child(4) { height: 68%; background: var(--lime); }.mini-graph i:nth-child(5) { height: 90%; }.data-lines { margin-top: 2.5rem; }.data-lines span { display: block; height: .55rem; margin-top: .68rem; border-radius: 99px; background: rgba(9,37,23,.14); }.data-lines span:nth-child(1) { width: 85%; }.data-lines span:nth-child(2) { width: 65%; }.data-lines span:nth-child(3) { width: 74%; }.spark { margin: auto 0 .1rem; color: var(--green); font-size: 4rem; line-height: 1; }

.report-section { padding: 7.5rem 0; color: white; background: var(--forest); overflow: hidden; }.report-layout { display: grid; grid-template-columns: .86fr 1.14fr; gap: 7rem; align-items: center; }.report-image-wrap { position: relative; max-width: 21rem; margin: 0 auto; transform: rotate(5deg); }.report-image-wrap::before { content: ''; position: absolute; z-index: -1; width: 14rem; height: 14rem; right: -5rem; bottom: -3rem; border-radius: 50%; background: var(--green); filter: blur(1px); }.report-image-wrap img { border: .65rem solid white; border-radius: 1rem; box-shadow: 0 30px 70px rgba(0,0,0,.25); }.image-caption { position: absolute; bottom: 1.4rem; left: -2rem; padding: .54rem .75rem; color: var(--forest); background: var(--lime); border-radius: .4rem; font-size: .65rem; font-weight: 800; transform: rotate(-5deg); }.eyebrow.light { color: var(--lime); }.report-copy h2 { color: white; }.report-copy h2 em { color: var(--lime); }.report-copy > p:not(.eyebrow) { max-width: 34rem; color: #c6dacb; font-size: 1.05rem; line-height: 1.65; }.report-copy ul { display: grid; gap: .72rem; margin: 2rem 0; padding: 0; list-style: none; color: #ecf7ee; font-size: .92rem; }.report-copy li { display: flex; align-items: center; gap: .7rem; }.report-copy li::before { content: '✓'; width: 1.25rem; height: 1.25rem; display: grid; place-items: center; color: var(--forest); background: var(--lime); border-radius: 50%; font-size: .7rem; font-weight: 900; }.button-light { color: var(--forest); background: var(--lime); }.button-light:hover { transform: translateY(-2px); background: #c4ff96; }

.download-section { padding: 6rem 0; color: white; background: linear-gradient(128deg, #12562f 0%, #0b301c 62%, #071e11 100%); overflow: hidden; }.download-layout { min-height: 23rem; display: grid; grid-template-columns: 15rem 1fr auto; align-items: center; gap: 3.5rem; position: relative; }.download-layout::after { content: ''; position: absolute; width: 31rem; height: 31rem; top: -13rem; right: -13rem; border: 1px solid rgba(165,242,109,.25); border-radius: 50%; }.download-icon { width: 14rem; height: 14rem; object-fit: contain; filter: drop-shadow(0 25px 35px rgba(0,0,0,.26)); z-index: 1; }.download-layout > div, .download-contact { position: relative; z-index: 1; }.download-layout h2 { margin: 0 0 1rem; color: white; font-size: clamp(2.5rem, 4.6vw, 4rem); line-height: .94; letter-spacing: -.075em; }.download-layout h2 em { color: var(--lime); font-family: var(--serif); font-weight: 400; }.download-layout p:not(.eyebrow) { max-width: 35rem; color: #c6dacb; line-height: 1.6; }.store-row { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.5rem; }.store-badge { min-width: 10.2rem; min-height: 3.6rem; padding: .48rem .7rem .48rem 2.75rem; position: relative; display: grid; grid-template-columns: 1fr auto; align-content: center; color: white; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.19); border-radius: .68rem; }.store-badge b { position: absolute; left: .75rem; top: 1rem; font-size: 1rem; }.play-mark { color: var(--lime); }.apple-mark { color: white; }.store-badge small { color: #bbd6c3; font-size: .57rem; line-height: 1; }.store-badge strong { font-size: .98rem; letter-spacing: -.03em; }.store-badge em { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--lime); font-size: .53rem; font-style: normal; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }.download-contact { white-space: nowrap; color: white; border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.08); }.download-contact:hover { color: var(--forest); background: var(--lime); border-color: var(--lime); }

.closing { padding: 10rem 0; text-align: center; }.closing .eyebrow { justify-content: center; }.closing h2 { margin-bottom: 1.1rem; }.closing > p:not(.eyebrow) { max-width: 30rem; margin: 0 auto 2rem; color: var(--muted); line-height: 1.65; }
.site-footer { padding: 3.4rem max(1.5rem, calc((100% - 1180px) / 2)); color: #c0d3c5; background: #06190e; }.footer-main { display: flex; justify-content: space-between; gap: 2rem; align-items: start; padding-bottom: 3rem; }.footer-logo { display: inline-block; color: white; font-size: 1.55rem; font-weight: 800; letter-spacing: -.07em; }.footer-logo span { color: var(--lime); }.footer-main p { margin: .8rem 0 0; color: #9bb6a2; font-size: .87rem; }.footer-links { display: flex; flex-wrap: wrap; justify-content: end; gap: 1.3rem; font-size: .84rem; font-weight: 650; }.footer-links a:hover { color: var(--lime); }.footer-bottom { padding-top: 1.4rem; display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(255,255,255,.12); color: #76917d; font-size: .68rem; line-height: 1.5; }

.legal-page { background: white; }.legal-header { border-bottom: 1px solid var(--line); }.legal-hero { max-width: 850px; padding: 6rem 0 3rem; }.legal-hero h1 { margin-bottom: 1rem; font-size: clamp(3rem, 6vw, 5rem); }.legal-hero p { color: var(--muted); }.legal-content { max-width: 850px; padding-bottom: 7rem; color: #274032; line-height: 1.75; }.legal-content h2 { margin: 2.8rem 0 .8rem; color: var(--ink); font-size: 1.4rem; letter-spacing: -.04em; }.legal-content p, .legal-content li { font-size: 1rem; }.legal-content ul { padding-left: 1.2rem; }.legal-content a { color: var(--green-deep); text-decoration: underline; text-underline-offset: .15em; }

@media (max-width: 840px) {
  .site-header { height: 75px; }.menu-button { display: block; z-index: 6; }.site-nav { position: absolute; top: 62px; left: 0; right: 0; display: none; padding: 1.2rem; flex-direction: column; align-items: stretch; background: white; border: 1px solid var(--line); border-radius: 1rem; box-shadow: 0 18px 40px rgba(9,37,23,.11); }.site-nav.is-open { display: flex; }.nav-cta { text-align: center; }
  .hero { min-height: auto; padding: 4.7rem 0 4rem; grid-template-columns: 1fr; }.hero-copy { max-width: 40rem; }.hero-visual { min-height: 440px; }.proof-band { width: calc(100% - 2rem); grid-template-columns: 1fr; }.proof-band > div { justify-content: start; padding: .75rem .5rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }.proof-band > div:last-child { border-bottom: none; }.flow-section, .report-layout { grid-template-columns: 1fr; gap: 3.5rem; }.flow-section { padding: 7.5rem 0; }.capabilities { padding-bottom: 7.5rem; }.capability-grid { grid-template-columns: 1fr; }.capability-card { min-height: 20rem; }.capabilities-heading { display: block; }.capabilities-heading .eyebrow { margin-bottom: 1.2rem; }.report-section { padding: 6rem 0; }.report-image-wrap { max-width: 18rem; }.report-copy { max-width: 36rem; margin: auto; }.footer-bottom { flex-direction: column; }
  .download-layout { min-height: auto; grid-template-columns: 10rem 1fr; gap: 2rem; }.download-icon { width: 10rem; height: 10rem; }.download-contact { grid-column: 2; justify-self: start; }
}
@media (max-width: 520px) {
  .section-shell, .site-header { width: min(100% - 2rem, 1180px); }.brand img { width: 2rem; height: 2rem; }.hero { padding-top: 3.8rem; }.hero-visual { min-height: 365px; }.hero-brand-mark { top: .2rem; right: -.5rem; width: 8.3rem; height: 8.3rem; }.report-card { min-height: 24rem; padding: 1.1rem; }.report-label { margin-top: 2rem; }.report-total strong { font-size: 2.7rem; }.bar-chart { height: 6.9rem; margin: 1.4rem 0; }.chip-top { top: -.6rem; right: 0; }.chip-bottom { bottom: .4rem; left: -1rem; }.orbit-one { width: 24rem; height: 24rem; }.orbit-two { width: 30rem; height: 18rem; }.hero-actions .button { width: 100%; }.button { min-height: 3.15rem; }.flow-list li { grid-template-columns: 2.7rem 1fr; }.closing { padding: 7rem 0; }.footer-main { flex-direction: column; }.footer-links { justify-content: start; }.legal-hero { padding-top: 4rem; }
  .download-section { padding: 4.5rem 0; }.download-layout { grid-template-columns: 1fr; gap: 1.3rem; }.download-icon { width: 8rem; height: 8rem; }.download-contact { grid-column: auto; justify-self: start; }.store-badge { flex: 1; min-width: 9.4rem; }
}
