:root {
  color: #172534;
  background: #f5f7f9;
  font-family: "Manrope", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  --navy: #14304f;
  --blue: #16447a;
  --blue-bright: #2b62a8;
  --green: #17855a;
  --red: #d92d2d;
  --muted: #64788b;
  --line: #dfe7ed;
  --surface: #ffffff;
  --soft: #edf2f6;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; overflow-x: hidden; background: #f8fafb; }
body, button, a { -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 10px 14px; border-radius: 8px; color: #fff; background: var(--navy); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgb(223 231 237 / 80%); background: rgb(248 250 251 / 88%); backdrop-filter: blur(18px); }
.nav-wrap { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: none; }
.brand img { width: 42px; height: 42px; border-radius: 50%; box-shadow: 0 5px 18px rgb(20 48 79 / 13%); }
.brand strong, .brand small { display: block; }
.brand strong { color: var(--navy); font-size: 16px; font-weight: 800; letter-spacing: -.02em; }
.brand small { margin-top: 1px; color: var(--blue-bright); font-size: 8px; font-weight: 800; letter-spacing: .22em; }
.site-nav { display: flex; align-items: center; gap: clamp(18px, 2.5vw, 34px); }
.site-nav > a:not(.button) { color: #4e6275; font-size: 13px; font-weight: 700; }
.site-nav > a:not(.button):hover { color: var(--blue); }
.menu-button { display: none; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 10px; background: transparent; }
.menu-button span { display: block; height: 2px; margin: 5px 0; border-radius: 99px; background: var(--navy); transition: transform .2s ease, opacity .2s ease; }

.button { min-height: 50px; padding: 0 21px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid transparent; border-radius: 13px; font-size: 13px; font-weight: 800; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); }
.button:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid rgb(43 98 168 / 35%); outline-offset: 3px; }
.button-small { min-height: 42px; padding-inline: 17px; color: #fff; background: var(--navy); }
.button-primary { color: #fff; background: var(--red); box-shadow: 0 13px 30px rgb(217 45 45 / 24%); }
.button-primary:hover { background: #c52222; box-shadow: 0 16px 35px rgb(217 45 45 / 30%); }
.button-ghost { border-color: #cdd9e2; color: var(--navy); background: rgb(255 255 255 / 70%); }
.button-ios { border-color: #101820; color: #fff; background: #101820; box-shadow: 0 13px 30px rgb(16 24 32 / 16%); }
.button-ios:hover { background: #26313a; }
.button-ios svg { fill: currentColor; stroke: none; }
.button-white { color: var(--navy); background: #fff; box-shadow: 0 12px 30px rgb(0 0 0 / 12%); }

.store-redirect-page { min-height: 100vh; padding: 28px; display: grid; place-items: center; background: radial-gradient(circle at 50% 0%, #e4edf6, #f8fafb 55%); }
.store-redirect-card { width: min(100%, 520px); padding: 48px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 30px 70px rgb(20 48 79 / 14%); text-align: center; }
.store-redirect-card > img { margin-bottom: 20px; border-radius: 50%; box-shadow: 0 10px 28px rgb(20 48 79 / 15%); }
.store-redirect-card h1 { margin: 14px 0 12px; color: var(--navy); font-size: clamp(30px, 7vw, 42px); line-height: 1.1; letter-spacing: -.04em; }
.store-redirect-card p { margin: 0 auto; max-width: 390px; color: var(--muted); line-height: 1.7; }
.store-redirect-actions { margin-top: 28px; display: grid; gap: 12px; }
.store-home-link { display: inline-block; margin-top: 24px; color: var(--blue); font-size: 13px; font-weight: 700; }
.store-home-link:hover { text-decoration: underline; }

.hero { position: relative; min-height: 690px; overflow: hidden; background: linear-gradient(180deg, #f9fbfc 0%, #f1f5f7 100%); }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 110px; background: linear-gradient(to bottom, transparent, #f8fafb); pointer-events: none; }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.hero-glow-one { width: 480px; height: 480px; top: 80px; right: -140px; background: radial-gradient(circle, rgb(43 98 168 / 13%), transparent 67%); }
.hero-glow-two { width: 360px; height: 360px; left: -190px; bottom: -80px; background: radial-gradient(circle, rgb(23 133 90 / 9%), transparent 70%); }
.hero-grid { position: relative; z-index: 2; min-height: 680px; padding: 68px 0 54px; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr); align-items: center; gap: 68px; }
.hero-copy { padding-bottom: 30px; }
.status-pill { width: fit-content; padding: 7px 12px; display: flex; align-items: center; gap: 8px; border: 1px solid #d6e3dc; border-radius: 999px; color: var(--green); background: #eff8f3; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.status-pill span { width: 7px; height: 7px; border-radius: 50%; background: #20a66f; box-shadow: 0 0 0 4px rgb(32 166 111 / 12%); }
.hero h1 { max-width: 650px; margin: 22px 0 18px; color: var(--navy); font-size: clamp(42px, 5.2vw, 66px); line-height: 1.04; letter-spacing: -.055em; }
.hero h1 em { color: var(--blue-bright); font-style: normal; }
.hero-lead { max-width: 600px; margin: 0; color: #556b7e; font-size: clamp(16px, 1.6vw, 18px); line-height: 1.75; font-weight: 600; }
.hero-actions { margin-top: 29px; display: flex; flex-wrap: wrap; gap: 12px; }
.download-note { margin: 12px 0 0; color: #8495a5; font-size: 10px; font-weight: 700; }
.trust-row { margin-top: 30px; padding-top: 23px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 22px; color: #546a7c; font-size: 11px; font-weight: 700; }
.trust-row i { width: 19px; height: 19px; margin-right: 6px; display: inline-grid; place-items: center; border-radius: 50%; color: var(--green); background: #e2f3eb; font-style: normal; font-size: 10px; }

.hero-visual { position: relative; min-height: 580px; display: grid; place-items: center; }
.hero-visual::before { content: ""; position: absolute; width: 430px; height: 430px; border-radius: 50%; background: #dce8f0; box-shadow: inset 0 0 0 55px rgb(255 255 255 / 28%); }
.phone-shell { position: relative; z-index: 2; width: 292px; height: 574px; padding: 10px; border: 4px solid #102b49; border-radius: 42px; background: #102b49; box-shadow: 0 38px 70px rgb(20 48 79 / 25%), 0 4px 10px rgb(20 48 79 / 16%); transform: rotate(2.5deg); }
.phone-speaker { position: absolute; z-index: 5; top: 15px; left: 50%; width: 70px; height: 17px; border-radius: 0 0 13px 13px; background: #102b49; transform: translateX(-50%); }
.phone-screen { height: 100%; overflow: hidden; padding: 29px 14px 16px; border-radius: 31px; background: #f2f5f8; }
.app-topbar { min-height: 46px; display: flex; align-items: center; gap: 8px; }
.mini-logo { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--navy); font-size: 13px; font-weight: 800; }
.app-topbar > div:nth-child(2) { min-width: 0; }
.app-topbar strong, .app-topbar small { display: block; white-space: nowrap; }
.app-topbar strong { color: #21354a; font-size: 9px; }
.app-topbar small { margin-top: 2px; color: #7890a5; font-size: 6px; }
.protected { margin-left: auto; padding: 5px 7px; border-radius: 99px; color: var(--green); background: #e3f5ec; font-size: 6px; font-weight: 800; }
.signal-row { margin-top: 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.signal-row > span { padding: 9px; border: 1px solid #e0e7ed; border-radius: 10px; background: #fff; display: grid; grid-template-columns: 7px 1fr; column-gap: 5px; }
.signal-row i { grid-row: span 2; align-self: center; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.signal-row small, .signal-row strong { display: block; }
.signal-row small { color: #8a9cac; font-size: 5px; }
.signal-row strong { margin-top: 1px; color: #293b4d; font-size: 7px; }
.sos-wrap { position: relative; height: 258px; display: grid; place-items: center; }
.sos-ripple { position: absolute; width: 208px; height: 208px; border: 1px solid rgb(217 45 45 / 18%); border-radius: 50%; box-shadow: 0 0 0 16px rgb(217 45 45 / 7%), 0 0 0 35px rgb(217 45 45 / 4%); }
.sos-button { position: relative; z-index: 2; width: 151px; height: 151px; display: grid; align-content: center; justify-items: center; border: 7px solid #f7b4b4; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #ec4242, #c92323); box-shadow: inset 0 6px 10px rgb(255 255 255 / 14%), 0 15px 25px rgb(217 45 45 / 25%); }
.sos-button strong { font-size: 40px; letter-spacing: -.04em; }
.sos-button small { margin-top: -3px; font-size: 7px; font-weight: 800; letter-spacing: .16em; }
.hold-copy { margin: -15px 0 15px; color: #42586c; text-align: center; font-size: 8px; font-weight: 800; }
.quick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.quick-actions > div { min-height: 42px; padding: 7px 8px; display: flex; align-items: center; gap: 6px; border: 1px solid #e0e7ed; border-radius: 9px; color: #24394e; background: #fff; font-size: 6px; font-weight: 800; }
.quick-actions b { color: var(--blue); font-size: 13px; }
.quick-actions .quick-call { border-color: var(--navy); color: #fff; background: var(--navy); }
.quick-actions .quick-call b { color: #fff; }
.alert-float { position: absolute; z-index: 5; min-width: 205px; padding: 12px 14px; display: flex; align-items: center; gap: 10px; border: 1px solid rgb(255 255 255 / 80%); border-radius: 13px; background: rgb(255 255 255 / 92%); box-shadow: 0 15px 35px rgb(20 48 79 / 16%); backdrop-filter: blur(10px); }
.alert-float strong, .alert-float small { display: block; }
.alert-float strong { color: var(--navy); font-size: 10px; }
.alert-float small { margin-top: 3px; color: #708598; font-size: 7px; font-weight: 700; }
.alert-float-top { top: 68px; right: 0; }
.alert-float-bottom { bottom: 75px; left: -7px; }
.pulse-dot { width: 13px; height: 13px; border: 3px solid #f9c4c4; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 5px rgb(217 45 45 / 8%); }
.secure-icon { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; color: var(--green); background: #e3f5ec; font-weight: 800; }

.facts { position: relative; z-index: 5; border-block: 1px solid var(--line); background: #fff; }
.facts-grid { min-height: 112px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.facts article { min-height: 56px; padding: 0 26px; border-right: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; }
.facts article:first-child { padding-left: 0; }
.facts article:last-child { border: 0; }
.facts strong { color: var(--navy); font-size: 20px; letter-spacing: -.03em; }
.facts span { margin-top: 4px; color: #75899a; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }

.section { padding: 104px 0; }
.section-heading { max-width: 620px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.eyebrow { color: var(--blue-bright); font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.eyebrow.light { color: #9dc4ef; }
.section-heading h2, .privacy-copy h2, .download-card h2 { margin: 13px 0 15px; color: var(--navy); font-size: clamp(31px, 4vw, 46px); line-height: 1.14; letter-spacing: -.045em; }
.section-heading p, .privacy-copy > p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.75; font-weight: 600; }
.steps { position: relative; margin-top: 56px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.steps::before { content: ""; position: absolute; top: 46px; left: 11%; right: 11%; border-top: 1px dashed #b9c8d3; }
.step-card { position: relative; z-index: 2; min-height: 250px; padding: 22px; border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 15px 40px rgb(20 48 79 / 5%); }
.step-number { position: absolute; top: 18px; right: 20px; color: #bfccd6; font-size: 10px; font-weight: 800; }
.step-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; font-size: 22px; font-weight: 800; }
.danger-icon { color: var(--red); background: #fce7e7; }
.location-icon { color: var(--blue); background: #e8f0f8; }
.people-icon { color: var(--green); background: #e5f5ed; }
.evidence-icon { color: #7255a2; background: #f0eaf8; }
.step-card h3, .feature-card h3 { margin: 22px 0 9px; color: var(--navy); font-size: 17px; letter-spacing: -.02em; }
.step-card p, .feature-card p { margin: 0; color: #687d8f; font-size: 12px; line-height: 1.7; font-weight: 600; }

.features-section { background: #eef3f6; }
.feature-grid { margin-top: 56px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.feature-card { min-height: 240px; padding: 23px; border: 1px solid var(--line); border-radius: 18px; background: #fff; overflow: hidden; }
.feature-card h3 { margin-top: 18px; }
.feature-wide { grid-column: span 2; display: grid; grid-template-columns: 1.3fr .7fr; align-items: center; gap: 25px; }
.navy-card { color: #fff; border-color: var(--navy); background: var(--navy); }
.navy-card h3 { margin-top: 12px; color: #fff; font-size: 23px; line-height: 1.3; }
.navy-card p { color: #b9cde0; }
.light-card { background: #f9fbfc; }
.light-card h3 { margin-top: 12px; font-size: 21px; }
.feature-kicker { color: #8fb4dc; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.feature-icon { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 13px; font-size: 20px; font-weight: 800; }
.feature-icon.green { color: var(--green); background: #e3f5ec; }
.feature-icon.amber { color: #9a651e; background: #fcefdc; }
.feature-icon.blue { color: var(--blue); background: #e5eef8; }
.feature-icon.purple { color: #7255a2; background: #f0eaf8; }
.ring-demo { position: relative; min-height: 170px; display: grid; place-items: center; }
.ring-demo div { position: relative; z-index: 2; width: 82px; height: 82px; display: grid; place-items: center; border: 6px solid #f4b0b0; border-radius: 50%; color: #fff; background: var(--red); font-size: 38px; font-weight: 800; }
.ring-demo span { position: absolute; border: 1px solid rgb(255 255 255 / 20%); border-radius: 50%; }
.ring-one { width: 125px; height: 125px; }
.ring-two { width: 166px; height: 166px; }
.biometric-demo { padding: 24px 17px; border: 1px solid #dfe7ed; border-radius: 17px; background: #fff; text-align: center; box-shadow: 0 13px 30px rgb(20 48 79 / 7%); }
.biometric-demo span { display: block; color: var(--green); font-size: 40px; }
.biometric-demo strong, .biometric-demo small { display: block; }
.biometric-demo strong { margin-top: 9px; color: var(--navy); font-size: 10px; }
.biometric-demo small { margin-top: 4px; color: #8091a0; font-size: 8px; }

.privacy-section { background: #fff; }
.privacy-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 85px; }
.map-card { position: relative; min-height: 430px; overflow: hidden; border: 1px solid #d6e1e8; border-radius: 25px; background: #e7eee8; box-shadow: 0 30px 60px rgb(20 48 79 / 12%); }
.map-card::before, .map-card::after { content: ""; position: absolute; border-radius: 50%; background: rgb(23 133 90 / 8%); }
.map-card::before { width: 130px; height: 130px; top: 12px; left: 22px; }
.map-card::after { width: 180px; height: 180px; right: -50px; bottom: -50px; }
.map-road { position: absolute; background: #fbfcfb; box-shadow: 0 0 0 1px rgb(180 196 184 / 40%); }
.road-a { left: -30px; right: -30px; top: 188px; height: 27px; transform: rotate(-9deg); }
.road-b { top: -50px; bottom: -50px; left: 46%; width: 24px; transform: rotate(14deg); }
.road-c { left: -40px; right: 80px; bottom: 65px; height: 18px; transform: rotate(17deg); }
.privacy-radius { position: absolute; z-index: 2; left: 50%; top: 50%; width: 225px; height: 225px; display: grid; place-items: center; border: 2px solid rgb(22 68 122 / 23%); border-radius: 50%; background: rgb(22 68 122 / 10%); transform: translate(-50%, -50%); box-shadow: 0 0 0 25px rgb(22 68 122 / 4%); }
.map-user { width: 30px; height: 30px; display: grid; place-items: center; border: 5px solid #fff; border-radius: 50%; color: #fff; background: var(--blue); box-shadow: 0 5px 16px rgb(20 48 79 / 20%); font-size: 10px; }
.map-label { position: absolute; z-index: 3; padding: 8px 10px; border-radius: 9px; background: rgb(255 255 255 / 92%); box-shadow: 0 8px 20px rgb(20 48 79 / 10%); color: #506579; font-size: 8px; font-weight: 800; }
.label-one { top: 65px; right: 35px; }
.label-two { bottom: 54px; left: 35px; }
.privacy-list { margin: 31px 0 0; padding: 0; list-style: none; display: grid; gap: 19px; }
.privacy-list li { display: flex; align-items: flex-start; gap: 13px; }
.privacy-list li > span { flex: none; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: #e3f5ec; font-size: 11px; font-weight: 800; }
.privacy-list strong, .privacy-list small { display: block; }
.privacy-list strong { color: var(--navy); font-size: 13px; }
.privacy-list small { margin-top: 4px; color: #728698; font-size: 11px; line-height: 1.6; font-weight: 600; }

.safety-banner { padding: 27px 0; border-block: 1px solid #f1dcc2; background: #fff8ee; }
.safety-banner-inner { display: flex; align-items: center; gap: 17px; }
.warning-mark { flex: none; width: 43px; height: 43px; display: grid; place-items: center; border-radius: 50%; color: #8c571a; background: #f9e4c5; font-size: 21px; font-weight: 800; }
.safety-banner strong { color: #69451b; font-size: 12px; line-height: 1.5; }
.safety-banner p { margin: 4px 0 0; color: #906e46; font-size: 10px; line-height: 1.55; font-weight: 600; }

.faq-section { background: #f7f9fa; }
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 85px; }
.faq-list { display: grid; gap: 10px; }
details { border: 1px solid var(--line); border-radius: 14px; background: #fff; }
summary { min-height: 67px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--navy); cursor: pointer; list-style: none; font-size: 13px; font-weight: 800; }
summary::-webkit-details-marker { display: none; }
summary span { color: var(--blue); font-size: 21px; font-weight: 500; transition: transform .2s ease; }
details[open] summary span { transform: rotate(45deg); }
details p { margin: 0; padding: 0 20px 19px; color: #687d8f; font-size: 11px; line-height: 1.75; font-weight: 600; }

.download-section { padding: 30px 0 95px; background: #f7f9fa; }
.download-card { min-height: 270px; padding: 48px 54px; display: flex; align-items: center; justify-content: space-between; gap: 40px; border-radius: 25px; color: #fff; background: radial-gradient(circle at 85% 10%, rgb(65 115 169 / 70%), transparent 35%), var(--navy); overflow: hidden; }
.download-card > div { max-width: 650px; }
.download-card h2 { color: #fff; font-size: clamp(30px, 4vw, 44px); }
.download-card p { margin: 0; color: #b9ccdf; font-size: 13px; line-height: 1.7; font-weight: 600; }
.download-card .button { flex: none; }
.download-platforms { flex: none; display: grid; gap: 9px; }
footer { padding: 62px 0 24px; color: #b9ccdf; background: #0f2843; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 70px; }
.footer-brand strong { color: #fff; }
.footer-brand small { color: #8fb4dc; }
.footer-grid > div:first-child > p { margin: 13px 0 0 53px; color: #819db9; font-size: 11px; }
.footer-links { display: grid; align-content: start; gap: 10px; }
.footer-links strong { margin-bottom: 5px; color: #fff; font-size: 11px; }
.footer-links a { color: #91a9c0; font-size: 10px; font-weight: 600; }
.footer-links a:hover { color: #fff; }
.footer-bottom { margin-top: 50px; padding-top: 20px; border-top: 1px solid rgb(255 255 255 / 9%); display: flex; justify-content: space-between; gap: 20px; color: #728da7; font-size: 9px; font-weight: 600; }

.support-nav { display: flex; align-items: center; gap: 24px; }
.support-nav a { color: #4e6275; font-size: 13px; font-weight: 700; }
.support-nav a:hover, .text-link { color: var(--blue-bright); text-decoration: underline; text-underline-offset: 3px; }
.legal-page { max-width: 820px; }
.legal-page h1 { margin: 14px 0 18px; color: var(--navy); font-size: clamp(38px, 6vw, 58px); line-height: 1.08; letter-spacing: -.05em; }
.legal-page h2 { margin: 42px 0 12px; color: var(--navy); font-size: 23px; letter-spacing: -.025em; }
.legal-page p, .legal-page li { color: #556b7e; font-size: 15px; line-height: 1.75; font-weight: 600; }
.legal-page ol { padding-left: 24px; }
.legal-intro { max-width: 650px; margin-bottom: 32px; font-size: 17px !important; }
.emergency-notice { padding: 22px 24px; border: 1px solid #efd3b2; border-radius: 15px; background: #fff8ee; }
.emergency-notice strong { color: #69451b; font-size: 16px; }
.emergency-notice p { margin: 7px 0 0; color: #7d5d39; }
.emergency-notice a { color: #74420d; text-decoration: underline; font-weight: 800; }
.support-updated { margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--line); color: #7b8d9d !important; font-size: 12px !important; }
.legal-footer { padding-top: 1px; }
.legal-footer .footer-bottom { margin-top: 0; }
.legal-footer a:hover { color: #fff; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.steps .reveal:nth-child(2), .feature-grid .reveal:nth-child(2) { transition-delay: .06s; }
.steps .reveal:nth-child(3), .feature-grid .reveal:nth-child(3) { transition-delay: .12s; }
.steps .reveal:nth-child(4), .feature-grid .reveal:nth-child(4) { transition-delay: .18s; }

@media (max-width: 1000px) {
  .site-nav { gap: 17px; }
  .hero-grid { grid-template-columns: 1fr 390px; gap: 20px; }
  .hero h1 { font-size: 51px; }
  .alert-float-top { right: -5px; }
  .alert-float-bottom { left: 0; }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .steps::before { display: none; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .privacy-grid, .faq-grid { gap: 45px; }
}

@media (max-width: 800px) {
  .menu-button { display: block; }
  .menu-button[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-button[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-button[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .site-nav { position: absolute; top: calc(100% + 1px); left: 0; right: 0; padding: 17px 20px 23px; border-bottom: 1px solid var(--line); background: #fff; box-shadow: 0 18px 30px rgb(20 48 79 / 10%); display: none; align-items: stretch; flex-direction: column; gap: 3px; }
  .site-nav.open { display: flex; }
  .site-nav > a:not(.button) { padding: 11px 4px; }
  .hero-grid { padding-top: 52px; grid-template-columns: 1fr; text-align: center; }
  .hero-copy { display: grid; justify-items: center; }
  .hero-lead { max-width: 660px; }
  .hero-visual { min-height: 610px; }
  .facts-grid { grid-template-columns: repeat(2, 1fr); padding: 15px 0; }
  .facts article { min-height: 70px; border-right: 1px solid var(--line); }
  .facts article:nth-child(2) { border-right: 0; }
  .facts article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .facts article:nth-child(3) { padding-left: 0; }
  .section { padding: 80px 0; }
  .privacy-grid, .faq-grid { grid-template-columns: 1fr; }
  .privacy-copy { order: -1; }
  .map-card { min-height: 390px; }
  .download-card { align-items: flex-start; flex-direction: column; padding: 40px; }
}

@media (max-width: 560px) {
  .container { width: min(100% - 28px, 1160px); }
  .nav-wrap { min-height: 68px; }
  .brand img { width: 38px; height: 38px; }
  .support-nav { gap: 13px; }
  .support-nav a { font-size: 10px; }
  .hero-grid { padding-top: 38px; }
  .hero h1 { margin-top: 18px; font-size: clamp(38px, 12vw, 49px); }
  .hero-lead { font-size: 15px; }
  .hero-actions { width: 100%; display: grid; }
  .hero-actions .button { width: 100%; }
  .trust-row { justify-content: center; gap: 12px; }
  .hero-visual { min-height: 560px; transform: scale(.91); margin: -25px -20px; }
  .alert-float-top { right: -7px; }
  .alert-float-bottom { left: -8px; }
  .facts article { padding-inline: 14px; }
  .facts strong { font-size: 17px; }
  .facts span { font-size: 7px; }
  .section { padding: 68px 0; }
  .section-heading h2, .privacy-copy h2 { font-size: 33px; }
  .steps, .feature-grid { grid-template-columns: 1fr; }
  .feature-wide { grid-column: auto; grid-template-columns: 1fr; }
  .step-card { min-height: 220px; }
  .navy-card, .light-card { min-height: 410px; }
  .ring-demo { min-height: 150px; }
  .privacy-radius { width: 190px; height: 190px; }
  .safety-banner-inner { align-items: flex-start; }
  .download-card { padding: 34px 25px; }
  .download-card .button { width: 100%; }
  .download-platforms { width: 100%; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 38px 25px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}

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