:root {
  color-scheme: light;
  --ink: #102522;
  --muted: #526864;
  --green: #087a68;
  --green-dark: #07594f;
  --mint: #d9f5eb;
  --cream: #f7f4ea;
  --paper: #fffdf8;
  --coral: #ee826d;
  --gold: #efc55e;
  --line: rgba(16, 37, 34, 0.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 90% 8%, rgba(239, 197, 94, .24), transparent 25rem),
    radial-gradient(circle at 4% 34%, rgba(8, 122, 104, .1), transparent 28rem),
    var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 20; background: var(--ink); color: white; padding: .75rem 1rem; border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
.page-shell { overflow: hidden; }
.site-header, .hero, .trust-strip, .story, footer { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.site-header { min-height: 88px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; font-weight: 800; letter-spacing: -.03em; font-size: 1.1rem; }
.brand-logo { display: block; width: 198px; height: 67px; object-fit: contain; }
.footer-logo { width: 168px; height: 57px; }
.header-link { text-decoration: none; border: 1px solid var(--line); border-radius: 999px; padding: .68rem 1.05rem; font-weight: 750; transition: .2s ease; }
.header-link:hover, .header-link:focus-visible { border-color: var(--green); color: var(--green); transform: translateY(-1px); }

.hero { min-height: 720px; padding: 72px 0 82px; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 5vw; }
.eyebrow { margin: 0 0 1.2rem; color: var(--green); font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .15em; display: flex; align-items: center; gap: .55rem; }
.eyebrow span { display: inline-block; width: 26px; height: 2px; background: var(--green); }
h1 { margin: 0; max-width: 720px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.8rem, 7.3vw, 7.1rem); line-height: .91; letter-spacing: -.065em; font-weight: 500; }
h1 em { color: var(--green); font-weight: 500; }
.hero-lead { max-width: 620px; font-size: clamp(1.05rem, 1.55vw, 1.28rem); line-height: 1.7; color: var(--muted); margin: 2rem 0; }
.hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.download-card { min-height: 158px; border-radius: 24px; padding: 1.1rem; display: grid; grid-template-columns: 46px 1fr; gap: .9rem; position: relative; border: 1px solid var(--line); box-shadow: 0 18px 50px rgba(16,37,34,.08); }
.android-card { background: var(--ink); color: white; text-decoration: none; padding-bottom: 3rem; }
.android-card:hover { background: var(--green-dark); }
.android-card:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
.ios-card { background: rgba(255,255,255,.76); backdrop-filter: blur(12px); }
.platform-icon { width: 46px; height: 46px; border-radius: 15px; display: grid; place-items: center; background: rgba(255,255,255,.12); }
.ios-card .platform-icon { background: var(--cream); }
.platform-icon svg { width: 26px; height: 26px; fill: currentColor; }
.platform-label { margin: .05rem 0 .15rem; font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; opacity: .7; font-weight: 800; }
.download-card h2 { font-size: 1.15rem; margin: 0 0 .35rem; }
.download-card p:last-child { margin: 0; font-size: .78rem; line-height: 1.45; opacity: .72; }
.status-pill { position: absolute; right: 1rem; bottom: 1rem; font-size: .66rem; border-radius: 999px; background: rgba(217,245,235,.16); color: #aef0d8; padding: .35rem .55rem; font-weight: 800; }
.status-pill.muted { color: var(--muted); background: var(--cream); }
.install-note { color: var(--muted); font-size: .75rem; margin: .85rem .25rem 0; }

.hero-visual { min-height: 590px; position: relative; display: grid; place-items: center; isolation: isolate; }
.hero-visual::before { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; background: linear-gradient(145deg, var(--mint), #f0eedc); z-index: -3; }
.orbit { position: absolute; border: 1px dashed rgba(8,122,104,.28); border-radius: 50%; z-index: -2; }
.orbit-one { width: 600px; height: 390px; transform: rotate(-16deg); }
.orbit-two { width: 420px; height: 620px; transform: rotate(31deg); }
.phone { width: 270px; height: 550px; border: 9px solid var(--ink); border-radius: 42px; background: #edf7f2; box-shadow: 0 42px 80px rgba(16,37,34,.24); padding: 9px; transform: rotate(2deg); }
.phone-speaker { width: 76px; height: 20px; border-radius: 0 0 14px 14px; background: var(--ink); margin: -9px auto 8px; }
.phone-screen { padding: 1rem .7rem; }
.phone-top { display: flex; justify-content: space-between; margin-bottom: 1.8rem; }
.phone-top span { color: var(--green); }
.radius { display: flex; justify-content: space-between; align-items: end; padding-bottom: .75rem; border-bottom: 1px solid var(--line); font-size: .7rem; }
.radius b { color: var(--green); font-size: .65rem; }
.profile-row { background: white; border-radius: 16px; padding: .8rem; margin-top: .65rem; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: .7rem; box-shadow: 0 7px 20px rgba(16,37,34,.06); }
.mini-avatar { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; color: white; font-family: Georgia, serif; }
.coral { background: var(--coral); }.gold { background: #c89a2f; }
.profile-row b, .profile-row small { display: block; }.profile-row b { font-size: .78rem; }.profile-row small { color: var(--muted); font-size: .63rem; margin-top: .18rem; }.profile-row i { font-style: normal; font-size: 1.3rem; color: var(--green); }
.privacy-chip { margin: 1rem auto; width: max-content; max-width: 100%; background: var(--mint); color: var(--green-dark); padding: .55rem .75rem; border-radius: 999px; font-size: .63rem; font-weight: 750; }
.person { position: absolute; width: 62px; height: 62px; border: 6px solid var(--paper); border-radius: 50%; display: grid; place-items: center; color: white; font: 700 1.25rem Georgia, serif; box-shadow: 0 14px 30px rgba(16,37,34,.18); }
.person-one { left: 0; top: 16%; background: var(--coral); }.person-two { right: 2%; top: 8%; background: var(--green); }.person-three { right: 0; bottom: 12%; background: #c89a2f; }
.floating-card { position: absolute; display: flex; align-items: center; gap: .65rem; background: rgba(255,255,255,.9); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.8); border-radius: 16px; padding: .75rem .9rem; box-shadow: 0 16px 45px rgba(16,37,34,.13); }
.floating-card > span { width: 32px; height: 32px; border-radius: 10px; background: var(--mint); color: var(--green); display: grid; place-items: center; font-weight: 900; }.floating-card b,.floating-card small { display:block; }.floating-card b { font-size: .75rem; }.floating-card small { color: var(--muted); font-size: .6rem; margin-top:.12rem; }
.lock-card { left: -2%; bottom: 11%; }.verified-card { right: -4%; top: 27%; }

.trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.trust-strip div { padding: 1.6rem 2rem; border-right: 1px solid var(--line); }.trust-strip div:last-child { border: 0; }.trust-strip strong,.trust-strip span { display:block; }.trust-strip strong { font-size: .9rem; }.trust-strip span { color: var(--muted); font-size: .78rem; margin-top: .25rem; }
.story { padding: 110px 0 120px; }.story > h2 { margin: 0; font: 500 clamp(2.8rem,5vw,5rem)/1.03 Georgia,serif; letter-spacing: -.045em; }
.feature-grid { margin-top: 4rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.feature-grid article { padding: 2rem; min-height: 250px; border-radius: 26px; border: 1px solid var(--line); background: rgba(255,255,255,.6); }.feature-grid .number { color: var(--green); font: 500 1.15rem Georgia,serif; }.feature-grid h3 { font-size: 1.35rem; margin: 3rem 0 .75rem; }.feature-grid p { color: var(--muted); line-height: 1.65; margin: 0; font-size: .92rem; }
footer { border-top: 1px solid var(--line); padding: 2.3rem 0 3rem; display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: 2rem; color: var(--muted); font-size: .78rem; }.footer-brand { color: var(--ink); }.footer-links a { color: var(--green-dark); font-weight: 750; text-underline-offset: .2rem; }.footer-links a:hover,.footer-links a:focus-visible { color: var(--green); }.copyright { text-align: right; }

.legal-shell { overflow: visible; }
.legal-header .header-link { border: 0; padding-inline: 0; }
.legal-main { width: min(860px, calc(100% - 40px)); margin: 0 auto; padding: 72px 0 110px; }
.legal-hero { padding-bottom: 2.5rem; border-bottom: 1px solid var(--line); }
.legal-hero h1 { max-width: none; font-size: clamp(3.1rem, 7vw, 5.8rem); }
.legal-hero .hero-lead { max-width: 760px; margin-bottom: 1rem; }
.policy-meta { color: var(--muted); font-size: .82rem; }
.legal-content { padding-top: 2rem; }
.legal-content section { padding: 1.7rem 0; border-bottom: 1px solid var(--line); }
.legal-content h2 { margin: 0 0 .9rem; font: 500 clamp(1.65rem, 3vw, 2.15rem)/1.15 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.legal-content h3 { margin: 1.25rem 0 .45rem; font-size: 1rem; }
.legal-content p,.legal-content li { color: var(--muted); line-height: 1.75; font-size: .96rem; }
.legal-content p { margin: .7rem 0; }
.legal-content ul { margin: .7rem 0; padding-left: 1.25rem; }
.legal-content strong { color: var(--ink); }
.legal-content a { color: var(--green-dark); font-weight: 700; text-underline-offset: .2rem; }
.notice-card { margin: 1.5rem 0 .25rem; padding: 1.2rem 1.35rem; border: 1px solid rgba(8,122,104,.24); border-radius: 18px; background: rgba(217,245,235,.45); }
.legal-footer { grid-template-columns: 1fr auto auto; }

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; padding-top: 55px; }.hero-copy { text-align: center; }.eyebrow { justify-content: center; }.hero-lead { margin-inline: auto; }.hero-visual { order: -1; min-height: 500px; transform: scale(.86); margin: -45px 0 -60px; }.trust-strip { grid-template-columns: 1fr; }.trust-strip div { border-right: 0; border-bottom: 1px solid var(--line); }.feature-grid { grid-template-columns: 1fr; }.feature-grid article { min-height: auto; }.feature-grid h3 { margin-top: 1.5rem; } footer { grid-template-columns: 1fr; text-align: center; }.footer-brand { justify-content: center; }.copyright { text-align:center; }
}
@media (max-width: 620px) {
  .site-header, .hero, .trust-strip, .story, footer { width: min(100% - 28px, 1180px); }.site-header { min-height: 76px; }.header-link { font-size: .8rem; }.brand-logo { width: 158px; height: 54px; }.footer-logo { width: 168px; height: 57px; }.hero { padding-bottom: 58px; }.hero-visual { min-height: 420px; transform: scale(.72); margin: -70px 0 -90px; }.hero-actions { grid-template-columns: 1fr; text-align: left; }.download-card { min-height: 140px; }.install-note { text-align: center; }.story { padding: 78px 0; }.story > h2 { text-align: center; }.feature-grid { margin-top: 2.5rem; }.person-one { left: -10%; }.person-two { right: -10%; }.person-three { right: -12%; }.lock-card { left: -12%; }.verified-card { right: -13%; }
}
@media (max-width: 620px) {
  .legal-main { width: min(100% - 28px, 860px); padding: 50px 0 78px; }
  .legal-content section { padding: 1.35rem 0; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
