*,*::before,*::after{box-sizing:border-box;margin:0;border:0 solid #D2D2D7}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{font-family:ui-sans-serif,system-ui,sans-serif;background:#F5F5F7;color:#1D1D1F;-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}
::selection{background:rgba(0,113,227,.15)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;cursor:pointer;background:none;color:inherit}
h1,h2,h3{font-weight:600;letter-spacing:-.025em}

.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:rgba(245,245,247,.7);border-bottom-width:1px;border-color:rgba(210,210,215,.6)}
.nav-inner{max-width:64rem;margin:0 auto;padding:0 1.5rem;height:3rem;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:.5rem}
.brand img{width:1.5rem;height:1.5rem;border-radius:6px}
.brand span{font-size:15px;font-weight:600;letter-spacing:-.025em}
.nav-links{display:flex;align-items:center;gap:1.75rem;font-size:13px;color:rgba(29,29,31,.7)}
.nav-links a{transition:color .15s}
.nav-links a:hover{color:#1D1D1F}
.gh{display:inline-flex;align-items:center;gap:.375rem}

.hero{padding:7rem 1.5rem 6rem}
.hero-inner{max-width:48rem;margin:0 auto;text-align:center}
h1{font-size:3rem;line-height:1.05}
.sub{margin-top:1.5rem;font-size:1.25rem;line-height:1.4;color:rgba(29,29,31,.65);letter-spacing:-.025em}
.cta{margin-top:2.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:3rem;padding:0 1.75rem;border-radius:9999px;font-size:15px;font-weight:500;transition:all .15s}
.btn.primary{background:#0071E3;color:#fff}
.btn.primary:hover{background:#0077ED}
.btn:active{transform:scale(.98)}
.btn.ghost{border:1px solid rgba(29,29,31,.15)}
.btn.ghost:hover{background:rgba(29,29,31,.04)}
.arrow{animation:nudge 2.4s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(2px)}}
.meta{margin-top:1.25rem;font-size:13px;color:rgba(29,29,31,.45)}

.fade{opacity:0;transform:translateY(20px);animation:up .8s cubic-bezier(.22,1,.36,1) var(--d,0s) forwards}
@keyframes up{to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,1,.36,1) var(--d,0s),transform .7s cubic-bezier(.22,1,.36,1) var(--d,0s)}
.reveal.shown{opacity:1;transform:none}

.shot{padding:1rem 0 6rem}
.shot-wrap{padding:0 1.5rem}
.shot-img{overflow:hidden;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.shot-img:hover{transform:translateY(-3px)}
.shot-img img{width:100%}
.caption{margin-top:1rem;text-align:center;font-size:13px;color:rgba(29,29,31,.45)}

.features{padding:5rem 1.5rem;border-top-width:1px;border-color:rgba(210,210,215,.7)}
.container{max-width:64rem;margin:0 auto}
h2{font-size:1.875rem;line-height:1.2}
.features h2{max-width:42rem}
.grid{margin-top:3.5rem;display:grid;grid-template-columns:1fr;gap:3rem 4rem}
.grid h3{font-size:1.25rem;font-weight:500;transition:transform .25s}
.grid h3:hover{transform:translateX(2px)}
.grid p{margin-top:.75rem;font-size:17px;line-height:1.625;color:rgba(29,29,31,.6);max-width:28rem}

.install{padding:6rem 1.5rem;border-top-width:1px;border-color:rgba(210,210,215,.7)}
.install-inner{max-width:48rem;margin:0 auto;text-align:center}
.lead{margin-top:1.25rem;font-size:1.125rem;color:rgba(29,29,31,.6)}
.copy-wrap{margin-top:2.5rem}
.copy{display:flex;align-items:center;gap:.75rem;width:100%;max-width:36rem;margin:0 auto;height:3.5rem;padding:0 1.25rem;border-radius:.75rem;background:#1D1D1F;color:#fff;text-align:left;transition:background .15s}
.copy:hover{background:#2a2a2c}
.copy:focus-visible{outline:2px solid #0071E3;outline-offset:2px}
.copy code{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ico{flex-shrink:0}
.term{color:rgba(255,255,255,.5)}
.cp{color:rgba(255,255,255,.4);transition:color .15s}
.copy:hover .cp{color:rgba(255,255,255,.7)}
.ck{color:#28c840}
.copy-wrap .meta{margin-top:.75rem}
.dl{margin-top:2rem}
.dl a{display:inline-flex;align-items:center;gap:.5rem;color:#0071E3;font-size:15px;font-weight:500}
.dl a:hover{text-decoration:underline}

.footer{padding:3.5rem 1.5rem;border-top-width:1px;border-color:rgba(210,210,215,.7)}
.footer-top{max-width:64rem;margin:0 auto;display:flex;flex-direction:column;gap:2rem}
.fb{font-size:15px;font-weight:600;letter-spacing:-.025em}
.footer-top p{margin-top:.5rem;font-size:13px;color:rgba(29,29,31,.5);max-width:20rem}
.flinks{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 3rem;font-size:13px;color:rgba(29,29,31,.6)}
.flinks a:hover{color:#1D1D1F}
.legal{max-width:64rem;margin:2.5rem auto 0;padding-top:1.5rem;border-top-width:1px;border-color:rgba(210,210,215,.6);font-size:12px;color:rgba(29,29,31,.4)}

@media(min-width:640px){
  .hero{padding:9rem 1.5rem 8rem}
  h1{font-size:4.5rem}
  .sub{font-size:1.5rem}
  .cta{flex-direction:row}
  .shot{padding-bottom:8rem}
  .shot-wrap{padding:0 2.5rem}
  .features{padding:7rem 1.5rem}
  h2{font-size:3rem}
  .grid{grid-template-columns:1fr 1fr}
  .install{padding:8rem 1.5rem}
  .copy code{font-size:15px}
  .footer-top{flex-direction:row;align-items:flex-end;justify-content:space-between}
}
@media(min-width:1024px){.shot-wrap{padding:0 4rem}}
