:root {
  color-scheme:light;
  --cream:#f6f3ed;
  --paper:#fff;
  --ink:#1b2422;
  --muted:#5d6865;
  --teal:#0d625c;
  --soft:#e4f1ef;
  --line:#d7dcd8;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--cream);
  font-synthesis:none
}

* {
  box-sizing:border-box
}

body {
  margin:0;
  font-size:18px;
  line-height:1.65
}

a {
  color:var(--teal);
  text-underline-offset:5px
}

a:hover {
  color:#084d48
}

a:focus-visible {
  outline:3px solid #157a72;
  outline-offset:5px;
  border-radius:4px
}

h1,h2,h3,p,figure {
  margin:0
}

h1,h2,h3 {
  line-height:1.12;
  letter-spacing:-.035em;
  font-weight:650;
  text-wrap:balance
}

h1 {
  font-size:clamp(2.6rem,4.6vw,4.5rem);
  max-width:12ch
}

h1 span {
  color:var(--teal)
}

h2 {
  font-size:clamp(2rem,3.4vw,3.2rem)
}

h3 {
  font-size:1.35rem;
  line-height:1.3
}

p+p {
  margin-top:1.2rem
}

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

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

.section {
  padding-block:100px
}

.eyebrow {
  font-size:.78rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--teal);
  margin-bottom:18px
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:1.3rem;
  font-weight:700;
  letter-spacing:-.04em;
  text-decoration:none;
  color:var(--ink);
  min-height:44px
}

.brand-mark {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  background:var(--teal);
  color:#fff;
  border-radius:50%;
  font-size:23px;
  letter-spacing:0
}

.site-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding-block:26px
}

.site-header nav {
  display:flex;
  gap:32px;
  align-items:center
}

.site-header nav a {
  display:inline-flex;
  min-height:44px;
  align-items:center;
  font-size:.9rem;
  font-weight:600;
  text-decoration:none
}

.login {
  gap:10px
}

.skip {
  position:absolute;
  left:16px;
  top:-100px;
  padding:12px;
  background:#fff;
  z-index:10
}

.skip:focus {
  top:12px
}

.hero {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:60px;
  align-items:start;
  padding-block:55px 85px
}

.hero-copy {
  padding-top:20px
}

.lead {
  font-size:1.28rem;
  line-height:1.55;
  margin-top:28px;
  max-width:36ch
}

.hero-detail {
  color:var(--muted);
  font-size:1rem;
  max-width:42ch;
  margin-top:16px
}

.actions {
  display:flex;
  gap:26px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:28px
}

.button {
  display:inline-flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  gap:24px;
  border-radius:12px;
  padding:12px 22px;
  background:var(--teal);
  color:white;
  font-weight:600;
  font-size:1rem;
  text-decoration:none
}

.button:hover {
  background:#084d48;
  color:white
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  font-size:1rem;
  font-weight:600
}

.economy-copy {
  border-top:1px solid var(--line);
  margin-top:42px;
  padding-top:26px;
  max-width:43ch
}

.economy-copy .eyebrow {
  margin-bottom:10px
}

.economy-copy h2 {
  font-size:1.5rem
}

.economy-copy p:last-child {
  font-size:1rem;
  color:var(--muted);
  margin-top:12px
}

.product-shot {
  padding:35px 40px 24px;
  background:#e9e7df;
  border-radius:32px;
  min-width:0
}

.hero-shot {
  background:#e3ede8
}

.screenshot-frame {
  max-width:330px;
  margin-inline:auto;
  border:6px solid #fff;
  border-radius:25px;
  overflow:hidden;
  box-shadow:0 14px 32px #1b242212
}

.screenshot-frame img {
  width:100%;
  border-radius:18px
}

figcaption {
  font-size:.82rem;
  font-weight:600;
  text-align:center;
  margin-top:20px;
  color:var(--ink)
}

figcaption span {
  display:block;
  font-size:.7rem;
  font-weight:400;
  color:var(--muted);
  margin-top:2px
}

.problem {
  background:#efede7
}

.section-intro {
  max-width:660px;
  margin-inline:auto;
  text-align:center
}

.questions {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-block:36px
}

.questions p {
  margin:0;
  padding:24px;
  background:var(--cream);
  border:1px solid #dfded5;
  border-radius:18px;
  font-size:1.1rem;
  line-height:1.5;
  display:flex;
  align-items:center
}

.problem-copy {
  max-width:650px;
  margin-inline:auto;
  text-align:center;
  color:var(--muted)
}

.product-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:110px
}

.product-row+.product-row {
  padding-top:0
}

.product-copy h2 {
  max-width:16ch
}

.product-copy>p:not(.eyebrow) {
  margin-top:25px;
  color:var(--muted)
}

.product-copy .text-link {
  margin-top:22px
}

.reverse .product-shot {
  background:#e3ede8
}

.small-note {
  font-size:.88rem;
  color:var(--muted)
}

.quiet-line {
  text-align:center;
  font-size:1.35rem;
  padding-bottom:95px;
  color:var(--muted)
}

.quiet-line strong {
  font-weight:500;
  color:var(--ink)
}

.how {
  background:var(--soft)
}

.steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:48px;
  list-style:none;
  margin:42px 0 0;
  padding:0
}

.steps li>span {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid #b8d3cf;
  border-radius:50%;
  color:var(--teal);
  font-size:1rem;
  margin-bottom:22px
}

.steps p {
  margin-top:14px;
  color:var(--muted);
  font-size:1rem
}

.philosophy {
  text-align:center;
  max-width:790px
}

.philosophy p:last-child {
  font-size:1.3rem;
  color:var(--muted);
  max-width:45ch;
  margin:26px auto 0
}

.privacy {
  background:#efede7
}

.privacy-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px
}

.privacy .text-link {
  margin-top:30px
}

.privacy-copy {
  color:var(--muted)
}

.privacy-copy p+p {
  padding-top:24px;
  border-top:1px solid var(--line);
  margin-top:24px
}

.install-heading {
  display:flex;
  gap:24px;
  align-items:center;
  max-width:750px
}

.install-heading img {
  border-radius:20px
}

.install-heading .eyebrow {
  margin-bottom:10px
}

.install-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  margin-top:40px
}

.install-grid p {
  color:var(--muted)
}

.install-grid .button {
  margin-top:26px
}

.install-instructions {
  padding:28px 32px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff
}

.install-instructions div+div {
  border-top:1px solid var(--line);
  padding-top:22px;
  margin-top:22px
}

.install-instructions h3 {
  font-size:1.05rem;
  letter-spacing:0
}

.install-instructions p {
  font-size:1rem;
  margin-top:10px
}

.install-instructions>.small-note {
  font-size:.83rem;
  margin-top:24px
}

.pilot {
  background:var(--teal);
  color:white;
  text-align:center
}

.pilot .eyebrow {
  color:#d6e8e2
}

.pilot p:not(.eyebrow) {
  max-width:650px;
  margin:24px auto 0;
  color:#e4f1ef
}

.pilot .actions {
  justify-content:center
}

.pilot .button {
  background:var(--cream);
  color:var(--teal)
}

.pilot .button:hover {
  background:white
}

.pilot .text-link {
  color:white
}

.pilot a:focus-visible {
  outline-color:white
}

.site-footer {
  display:flex;
  justify-content:space-between;
  gap:40px;
  padding-block:45px
}

.site-footer nav {
  display:flex;
  flex-wrap:wrap;
  gap:12px 28px;
  align-items:start;
  justify-content:flex-end;
  max-width:660px
}

.site-footer nav>a {
  font-size:.88rem;
  display:inline-flex;
  align-items:center;
  min-height:44px
}

.copyright {
  font-size:.8rem;
  color:var(--muted);
  margin-top:12px
}

.contact {
  display:flex;
  flex-direction:column;
  padding-top:9px;
  font-size:.88rem
}

.contact .small-note {
  font-size:.75rem
}

.transition {
  max-width:650px;
  padding-block:80px
}

.transition h1 {
  font-size:2.5rem;
  max-width:18ch
}

.transition p {
  margin-top:24px
}

.transition a {
  min-height:44px;
  display:inline-flex;
  align-items:center
}

.transition ul {
  padding-left:20px
}

@media(max-width:950px) {
  .hero {
    gap:32px
  }

  .hero h1 {
    font-size:2.9rem
  }

  .product-shot {
    padding:24px 22px 20px
  }

  .product-row {
    gap:55px
  }

  .privacy-grid,.install-grid {
    gap:40px
  }

  .steps {
    gap:28px
  }

  .site-footer {
    flex-direction:column
  }

  .site-footer nav {
    justify-content:flex-start;
    max-width:none
  }

}

@media(max-width:700px) {
  body {
    font-size:17px
  }

  .wrap {
    width:calc(100% - 40px)
  }

  .section {
    padding-block:64px
  }

  .site-header {
    padding-block:18px
  }

  .site-header .about-link {
    display:none
  }

  .site-header nav {
    gap:0
  }

  .brand {
    font-size:1.16rem
  }

  .hero {
    grid-template-columns:1fr;
    gap:32px;
    padding-block:32px 60px
  }

  .hero-copy {
    padding-top:0
  }

  .hero h1 {
    font-size:clamp(2.55rem,9vw,3.7rem);
    max-width:13ch
  }

  .lead {
    font-size:1.15rem;
    margin-top:24px
  }

  .hero-detail {
    font-size:1rem
  }

  .economy-copy {
    margin-top:34px;
    padding-top:24px
  }

  .product-shot {
    padding:26px 25px 20px;
    max-width:430px;
    width:100%;
    margin-inline:auto;
    border-radius:24px
  }

  .screenshot-frame {
    max-width:310px;
    border-width:5px
  }

  .questions {
    grid-template-columns:1fr;
    gap:12px;
    margin-block:28px
  }

  .questions p {
    padding:18px 22px;
    min-height:68px;
    font-size:1.05rem
  }

  .problem-copy {
    text-align:left
  }

  .product-row {
    grid-template-columns:1fr;
    gap:30px
  }

  .product-row .product-copy {
    grid-row:1
  }

  .product-copy h2 {
    max-width:20ch
  }

  .product-row+.product-row {
    padding-top:0
  }

  .quiet-line {
    padding-bottom:60px;
    font-size:1.15rem
  }

  .steps {
    grid-template-columns:1fr;
    gap:32px;
    margin-top:32px
  }

  .steps li {
    display:grid;
    grid-template-columns:44px 1fr;
    column-gap:20px
  }

  .steps li>span {
    grid-row:1 / 3;
    margin:0
  }

  .steps p {
    grid-column:2;
    margin-top:10px
  }

  .philosophy p:last-child {
    font-size:1.15rem
  }

  .privacy-grid,.install-grid {
    grid-template-columns:1fr;
    gap:30px
  }

  .privacy-copy p+p {
    margin-top:20px;
    padding-top:20px
  }

  .install-heading {
    align-items:start;
    gap:16px
  }

  .install-heading img {
    width:58px;
    height:58px;
    border-radius:15px
  }

  .install-heading h2 {
    font-size:1.8rem
  }

  .install-heading .eyebrow {
    font-size:.7rem
  }

  .install-instructions {
    padding:24px
  }

  .site-footer {
    gap:24px;
    padding-block:32px
  }

  .site-footer nav {
    display:grid;
    grid-template-columns:1fr;
    gap:4px
  }

  .contact {
    margin-top:10px
  }

  .actions {
    gap:22px
  }

  .transition {
    padding-block:40px
  }

}

@media(prefers-reduced-motion:no-preference) {
  html {
    scroll-behavior:smooth
  }

}
