:root {
  color-scheme:light;
  --ink:#171e30;
  --navy:#101c37;
  --paper:#f5f6f9;
  --surface:#fff;
  --muted:#586176;
  --line:#dce0e9;
  --violet:#6549d4;
  --wrap:1160px;
  --shadow:0 24px 64px #14233e1c;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.6;
}

img {
  display:block;
  max-width:100%;
  height:auto;
}

a {
  color:inherit;
  text-decoration:none;
}

a:focus-visible,summary:focus-visible {
  outline:3px solid #866bf2;
  outline-offset:5px;
}

h1,h2,h3,p,figure {
  margin:0 0 20px;
}

h1,h2,h3 {
  line-height:1.08;
  letter-spacing:-.045em;
}

h2 {
  font-size:clamp(2.2rem,4.1vw,3.7rem);
}

h3 {
  font-size:1.65rem;
}

p {
  overflow-wrap:break-word;
}

.wrap {
  width:min(calc(100% - 64px),var(--wrap));
  margin-inline:auto;
}

.skip-link {
  position:fixed;
  z-index:100;
  top:8px;
  left:8px;
  padding:12px;
  background:white;
  transform:translateY(-150%);
}

.skip-link:focus {
  transform:none;
}

.site-header {
  position:sticky;
  top:0;
  z-index:30;
  border-bottom:1px solid var(--line);
  background:#ffffffed;
  backdrop-filter:blur(16px);
}

.nav {
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:750;
  white-space:nowrap;
}

.brand img {
  width:38px;
  height:38px;
}

.nav-links {
  display:flex;
  align-items:center;
  gap:24px;
  font-size:.9rem;
  font-weight:650;
}

.nav-links a:hover {
  color:var(--violet);
}

.nav-links .store-link {
  padding:9px 16px;
  border-radius:8px;
  color:white;
  background:var(--navy);
}

section[id] {
  scroll-margin-top:100px;
}

.hero {
  overflow:hidden;
  padding:64px 0 48px;
  background:var(--navy);
  color:white;
}

.hero-layout {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);
  align-items:center;
  gap:64px;
}

.hero h1 {
  font-size:clamp(3.1rem,5.3vw,4.6rem);
  line-height:1.04;
  max-width:14ch;
  margin-bottom:26px;
}

.hero h1 em {
  font-style:normal;
  color:#b9a9ff;
}

.eyebrow {
  font-size:.875rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:750;
  color:var(--violet);
  margin-bottom:18px;
}

.hero .eyebrow {
  color:#c7bbff;
  letter-spacing:.055em;
}

.supporting {
  font-size:1.15rem;
  color:#d6dcec;
  max-width:47ch;
  margin-bottom:30px;
}

.actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
}

.store-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:white;
  color:var(--ink);
  border-radius:9px;
  padding:10px 18px;
  min-height:58px;
  transition:transform .16s;
}

.store-button:hover {
  transform:translateY(-2px);
  background:#eeeafc;
}

.store-button svg {
  width:25px;
  height:31px;
  fill:currentColor;
}

.store-copy {
  display:grid;
  line-height:1.1;
}

.store-copy span:first-child {
  font-size:.8rem;
}

.store-copy span:last-child {
  font-size:1.3rem;
  font-weight:650;
}

.secondary-link {
  padding:12px 0;
  color:#e1dafd;
  font-size:.95rem;
  font-weight:600;
}

.secondary-link:hover {
  text-decoration:underline;
}

.download-note {
  margin:17px 0 24px;
  color:#ecedf4;
  font-size:.9rem;
}

.platforms {
  font-size:.9rem;
  color:#bac6de;
  margin-bottom:8px;
}

.continuity {
  font-size:.875rem;
  color:#bac6de;
  margin:0;
}

.hero-product {
  margin:0;
  text-align:center;
}

.hero-product img {
  width:248px;
  border-radius:24px;
  box-shadow:0 24px 70px #0006;
  margin:auto;
  border:5px solid #43516b;
}

.hero-product figcaption {
  font-size:.875rem;
  color:#cbd5e7;
  margin-top:18px;
}

.proof-strip {
  background:white;
  border-bottom:1px solid var(--line);
}

.proof-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.proof {
  padding:28px 22px;
  border-right:1px solid var(--line);
}

.proof:first-child {
  padding-left:0;
}

.proof:last-child {
  border:0;
  padding-right:0;
}

.proof strong,.proof span {
  display:block;
}

.proof strong {
  font-size:.98rem;
  margin-bottom:6px;
}

.proof span {
  color:var(--muted);
  font-size:.9rem;
}

.section {
  padding:88px 0;
}

.section-heading {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  align-items:end;
  gap:70px;
  margin-bottom:36px;
}

.section-heading h2,.section-heading p {
  margin:0;
}

.section-heading p {
  color:var(--muted);
}

.review-section {
  background:white;
}

.review-layout,.rewind-layout,.lens-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:100px;
}

.feature-copy h2 {
  max-width:15ch;
}

.feature-copy>p:not(.eyebrow),.lens-copy>p:not(.eyebrow) {
  color:var(--muted);
  font-size:1.05rem;
}

.feature-points {
  margin-top:28px;
}

.feature-point {
  padding:16px 0 16px 20px;
  border-left:3px solid var(--violet);
  margin-top:12px;
}

.feature-point:nth-child(2) {
  border-color:#16867e;
}

.feature-point:nth-child(3) {
  border-color:#cf7050;
}

.feature-point strong,.feature-point span {
  display:block;
}

.feature-point span {
  margin-top:4px;
  color:var(--muted);
  font-size:.95rem;
}

.phone-feature {
  margin:0;
}

.phone-feature img {
  max-height:610px;
  width:auto;
  margin:auto;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
}

.phone-feature figcaption {
  max-width:290px;
  margin:16px auto 0;
  color:var(--muted);
  font-size:.875rem;
}

.rewind-section {
  background:#e9e6fa;
}

.rewind-example {
  margin:0;
  padding:36px;
  background:white;
  box-shadow:var(--shadow);
  border-radius:12px;
}

.example-top {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
  font-size:.75rem;
  color:var(--muted);
  margin-bottom:28px;
}

.rewind-example h3 {
  font-size:2.5rem;
  letter-spacing:-.04em;
}

.rewind-example>p {
  color:var(--muted);
}

.comparison {
  padding:18px 0;
}

.comparison>div:not(.bar) {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:.9rem;
}

.bar {
  height:16px;
  border-radius:3px;
  margin:9px 0 20px;
}

.previous {
  width:87.23%;
  background:#b5bdcf;
}

.current {
  width:100%;
  background:var(--violet);
}

.rewind-example figcaption {
  font-size:.875rem;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:18px;
}

.text-link {
  font-weight:700;
  color:var(--violet);
  text-decoration:underline;
  text-underline-offset:5px;
}

.text-link:hover {
  color:#3d298e;
}

.view-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.view-card {
  background:white;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
}

.view-media {
  padding:18px 18px 0;
  background:#e7eaf1;
  max-height:330px;
  overflow:hidden;
}

.view-media img {
  border-radius:9px 9px 0 0;
}

.view-copy {
  padding:22px 18px;
}

.view-copy h3 {
  font-size:1.35rem;
}

.view-copy p {
  font-size:.95rem;
  color:var(--muted);
  margin:0;
}

.lens-section {
  background:var(--navy);
  color:white;
}

.lens-copy .eyebrow {
  color:#c7bbff;
}

.lens-copy>p:not(.eyebrow) {
  color:#cbd5e7;
}

.lens-facts {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:28px;
}

.lens-fact strong,.lens-fact span {
  display:block;
}

.lens-fact span {
  font-size:.9rem;
  color:#cbd5e7;
  margin-top:5px;
}

.lens-screens {
  display:flex;
  align-items:center;
  gap:16px;
}

.lens-screens img {
  width:calc(50% - 8px);
  border-radius:12px;
}

.device-copy {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:64px;
  margin-bottom:38px;
  align-items:center;
}

.device-copy>div>p:last-child {
  color:var(--muted);
}

.device-gallery {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:28px;
  align-items:start;
}

.device-gallery figure {
  margin:0;
}

.device-gallery img {
  border-radius:8px;
  border:1px solid var(--line);
}

.device-gallery figcaption {
  font-size:.9rem;
  color:var(--muted);
  margin-top:12px;
}

.device-gallery figcaption strong {
  color:var(--ink);
  margin-right:8px;
}

.device-side {
  display:grid;
  gap:24px;
}

.device-side>figure:first-child img {
  max-height:300px;
  width:auto;
  margin:auto;
}

.watch-figure {
  display:grid;
  grid-template-columns:90px 1fr;
  align-items:center;
  gap:24px;
}

.watch-figure img {
  border:0;
}

.privacy-section {
  background:#e4eee9;
}

.privacy-layout {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:80px;
  align-items:center;
}

.privacy-copy h2 {
  max-width:15ch;
}

.privacy-copy>p:not(.eyebrow) {
  color:#3d594b;
}

.privacy-link {
  color:#254a38;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:4px;
}

.privacy-list span {
  display:block;
  padding:15px 0;
  border-bottom:1px solid #b1c9ba;
  font-weight:600;
}

.pricing-grid,.guide-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.price-card,.guide-card {
  padding:32px;
  border:1px solid var(--line);
  border-radius:12px;
  background:white;
}

.price-card p:not(.eyebrow) {
  color:var(--muted);
}

.price-card p:last-child {
  margin-bottom:0;
}

.price-card li {
  margin-bottom:8px;
}

.price-card ul {
  padding-left:20px;
}

.price-card.plus {
  border-color:#b9a9ff;
}

.guides-section {
  background:#eaedf4;
}

.guide-card {
  display:block;
}

.guide-card:hover {
  border-color:var(--violet);
}

.guide-card p {
  color:var(--muted);
}

.guide-card .eyebrow {
  display:block;
}

.final {
  padding:64px 0;
  background:var(--navy);
  color:white;
}

.final-layout {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}

.final-title {
  display:flex;
  align-items:center;
  gap:20px;
}

.final-title img {
  width:64px;
  height:64px;
}

.final h2 {
  font-size:2.5rem;
  margin-bottom:8px;
}

.final p {
  color:#cbd5e7;
  margin:0;
}

.site-footer {
  background:#0a1429;
  color:#cbd5e7;
  font-size:.875rem;
}

.footer-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-block:28px;
}

.footer-links {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
}

.footer-links a:hover {
  text-decoration:underline;
}

.article {
  max-width:760px;
  margin:auto;
  padding:64px 24px 80px;
}

.article h1 {
  font-size:clamp(2.5rem,5vw,3.7rem);
  margin-top:26px;
}

.article h2 {
  font-size:1.9rem;
  line-height:1.2;
  margin-top:42px;
}

.article h3 {
  font-size:1.25rem;
  letter-spacing:-.02em;
  margin-top:26px;
}

.article p,.article li {
  color:var(--muted);
  font-size:1.05rem;
}

.article li {
  margin-bottom:12px;
}

.article a:not(.brand) {
  text-decoration:underline;
  text-underline-offset:4px;
  color:var(--violet);
}

.article figure {
  padding:26px;
  background:#e9ecf3;
  border-radius:12px;
  margin-block:32px;
}

.article figure img {
  max-height:540px;
  width:auto;
  margin:auto;
  border-radius:10px;
}

.article figcaption {
  font-size:.9rem;
  color:var(--muted);
  margin-top:16px;
}

.article .article-meta {
  font-size:.875rem;
}

.article .note {
  border-left:3px solid var(--violet);
  padding-left:20px;
}

.article-cta {
  margin-top:40px;
  padding:28px;
  background:#e9e6fa;
  border-radius:10px;
}

@media(max-width:980px) {
  .hero-layout {
    gap:36px;
  }
  .hero h1 {
    font-size:3.4rem;
  }
  .hero-product img {
    width:230px;
  }
  .nav-links {
    gap:16px;
  }
  .review-layout,.rewind-layout,.lens-layout {
    gap:44px;
  }
  .section-heading,.device-copy {
    gap:36px;
  }
  .view-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .view-media {
    max-height:360px;
  }
  .view-media img {
    max-width:220px;
    margin:auto;
  }
  .proof-grid {
    grid-template-columns:1fr 1fr;
  }
  .proof:nth-child(2) {
    border-right:0;
  }
  .proof:nth-child(-n+2) {
    border-bottom:1px solid var(--line);
  }
  .proof:nth-child(3) {
    padding-left:0;
  }
  .privacy-layout {
    gap:40px;
  }
}

@media(max-width:720px) {
  .wrap {
    width:calc(100% - 40px);
  }
  .nav {
    min-height:66px;
  }
  .nav-links a:not(.store-link) {
    display:none;
  }
  .nav-links {
    gap:0;
  }
  .hero {
    padding:40px 0;
  }
  .hero-layout {
    grid-template-columns:1fr;
    gap:36px;
  }
  .hero h1 {
    font-size:clamp(2.7rem,8.8vw,3.5rem);
    max-width:16ch;
  }
  .supporting {
    font-size:1.05rem;
  }
  .hero-product img {
    width:230px;
  }
  .hero-product figcaption {
    margin-top:16px;
  }
  .eyebrow {
    font-size:.8rem;
  }
  .proof {
    padding:22px 16px;
  }
  .proof strong {
    font-size:.9rem;
  }
  .proof span {
    font-size:.875rem;
  }
  .section {
    padding:60px 0;
  }
  .section-heading,.review-layout,.rewind-layout,.lens-layout,.device-copy,.device-gallery,.privacy-layout,.pricing-grid,.guide-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  .section-heading {
    margin-bottom:30px;
  }
  .feature-copy h2 {
    max-width:19ch;
  }
  .phone-feature img {
    max-height:570px;
  }
  .rewind-example {
    padding:26px;
  }
  .rewind-example h3 {
    font-size:2.2rem;
  }
  .view-grid {
    gap:12px;
  }
  .view-media {
    padding:12px 12px 0;
    max-height:250px;
  }
  .view-copy {
    padding:18px 14px;
  }
  .lens-screens {
    max-width:440px;
    margin:auto;
  }
  .device-side {
    grid-template-columns:1fr;
  }
  .device-side>figure:first-child img {
    max-height:400px;
  }
  .watch-figure {
    max-width:380px;
  }
  .final-layout,.footer-inner {
    align-items:flex-start;
    flex-direction:column;
  }
  .final-title img {
    width:48px;
    height:48px;
  }
  .final h2 {
    font-size:2rem;
  }
  .final p {
    font-size:.95rem;
  }
  .price-card,.guide-card {
    padding:26px;
  }
  .article {
    padding-top:36px;
  }
  .article figure {
    padding:18px;
  }
}

@media(max-width:370px) {
  .wrap {
    width:calc(100% - 32px);
  }
  .brand {
    font-size:.9rem;
  }
  .brand img {
    width:32px;
    height:32px;
  }
  .nav-links .store-link {
    padding:8px 12px;
  }
  .hero h1 {
    font-size:2.6rem;
  }
  .proof-grid,.view-grid {
    grid-template-columns:1fr;
  }
  .proof {
    border-right:0;
    padding:18px 0;
  }
  .proof:nth-child(3) {
    border-bottom:1px solid var(--line);
  }
  .view-media {
    max-height:300px;
  }
  .lens-facts {
    grid-template-columns:1fr;
  }
  .rewind-example {
    padding:20px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  .store-button {
    transition:none;
  }
}
