/* Headgate: a field-first editorial design. All colors live in this token block. */
:root {
  color-scheme: light;
  --ink:#182b24;
  --ink-2:#425349;
  --muted:#657168;
  --paper:#f7f6f0;
  --paper-2:#edeee5;
  --card:#ffffff;
  --line:#d5dbd1;
  --brand:#0e5240;
  --brand-hover:#093c2f;
  --forest:#142f25;
  --on-dark:#faf8ee;
  --soft-dark:#c5d2c6;
  --green-light:#b6cdad;
  --cream:#f1ecd9;
  --frame:#22372d;
  --mount:#e3e7dd;
  --accent:#d9b59b;
  --hero-shade:linear-gradient(90deg,rgba(9,26,18,.88),rgba(9,26,18,.55) 48%,rgba(9,26,18,.10)),linear-gradient(0deg,rgba(9,26,18,.70),rgba(9,26,18,0) 35%);
  --device-lines:rgba(197,210,198,.12);
  --shadow:0 24px 64px rgba(15,37,25,.12);
  --phone-shadow:0 24px 60px rgba(0,0,0,.32);
  --focus:#a76b37;
  --ui:'Inter Tight',system-ui,sans-serif;
  --display:Georgia,'Times New Roman',serif;
  --wrap:1320px;
  --gutter:clamp(22px,5vw,72px);
  --band:clamp(64px,8vw,112px);
}
@font-face{
  font-family:'Inter Tight';
  font-weight:400 700;
  font-display:swap;
  src:url("../assets/fonts/inter-tight-variable.woff2") format('woff2')
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth;
  scroll-padding-top:100px
}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--ui);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased
}
img,svg{
  display:block;
  max-width:100%
}
img{
  height:auto
}
a{
  color:inherit;
  text-underline-offset:5px
}
button{
  font:inherit
}
button,a,summary{
  -webkit-tap-highlight-color:transparent
}
:focus-visible{
  outline:3px solid var(--focus);
  outline-offset:5px
}
[hidden]{
  display:none
}
p{
  margin:0 0 1.2em
}
p:last-child{
  margin-bottom:0
}
h1,h2,h3{
  margin:0;
  font-weight:400
}
h1,h2{
  font-family:var(--display);
  letter-spacing:-.055em;
  line-height:1.07
}
h1{
  font-size:clamp(48px,6vw,82px)
}
h2{
  font-size:clamp(37px,4.1vw,58px)
}
h3{
  font-size:23px;
  line-height:1.25;
  font-weight:600;
  letter-spacing:-.025em
}
em{
  font-weight:400
}
figure{
  margin:0
}
.wrap{
  width:100%;
  max-width:var(--wrap);
  padding-inline:var(--gutter);
  margin-inline:auto
}
.band{
  padding-block:var(--band)
}
.eyebrow{
  font-size:11px;
  font-weight:600;
  letter-spacing:.15em;
  line-height:1.6;
  margin-bottom:24px
}
.skip{
  position:fixed;
  top:10px;
  left:15px;
  z-index:100;
  background:var(--cream);
  padding:12px;
  transform:translateY(-160%)
}
.skip:focus{
  transform:translateY(0)
}
.masthead{
  position:sticky;
  top:0;
  z-index:30;
  background:var(--paper);
  border-bottom:1px solid var(--line)
}
.masthead__inner{
  max-width:var(--wrap);
  padding:0 var(--gutter);
  margin:auto;
  min-height:88px;
  display:flex;
  align-items:center;
  gap:30px
}
.wordmark{
  display:flex;
  align-items:center;
  gap:11px;
  text-decoration:none;
  margin-right:auto
}
.wordmark svg{
  width:37px;
  height:37px;
  fill:currentColor
}
.wordmark>span{
  font-size:29px;
  font-weight:700;
  letter-spacing:-1.2px;
  line-height:1
}
.wordmark__sub{
  display:block;
  font-size:8px;
  letter-spacing:1.7px;
  margin-top:8px;
  font-weight:600
}
.nav{
  display:flex;
  align-items:center;
  gap:25px
}
.nav>a,.nav summary{
  font-size:13px;
  text-decoration:none;
  font-weight:500;
  white-space:nowrap
}
.nav>a:not(.btn),.nav summary{
  padding:12px 0
}
.nav a:hover,.nav summary:hover{
  color:var(--brand)
}
.nav a[aria-current]{
  text-decoration:underline;
  text-underline-offset:7px
}
.nav__login{
  border-left:1px solid var(--line);
  padding-left:24px
}
.nav .nav__login{
  padding-left:24px
}
.nav__login span{
  margin-left:5px
}
.menu{
  position:relative
}
.menu summary{
  list-style:none;
  cursor:pointer
}
.menu summary::-webkit-details-marker{
  display:none
}
.menu summary:after{
  content:'⌄';
  margin-left:8px
}
.menu__panel{
  position:absolute;
  top:calc(100% + 16px);
  left:-25px;
  width:450px;
  padding:16px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  background:var(--card);
  box-shadow:var(--shadow);
  border:1px solid var(--line)
}
.menu__panel a{
  padding:12px;
  text-decoration:none;
  font-weight:600;
  font-size:15px
}
.menu__panel a:hover{
  background:var(--paper-2)
}
.menu__panel span{
  display:block;
  font-size:12px;
  font-weight:400;
  color:var(--muted);
  line-height:1.5;
  margin-top:5px
}
.burger{
  display:none;
  background:none;
  border:1px solid var(--line);
  width:44px;
  height:44px;
  color:var(--ink);
  align-items:center;
  justify-content:center
}
.burger span{
  width:18px;
  height:1px;
  background:currentColor;
  box-shadow:0 5px currentColor,0 -5px currentColor
}
.btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:30px;
  padding:16px 23px;
  min-height:50px;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  border:1px solid transparent;
  border-radius:3px;
  transition:background .2s,transform .2s
}
.btn:hover{
  transform:translateY(-2px)
}
.btn--primary{
  background:var(--brand);
  color:var(--on-dark)
}
.nav .btn--primary:hover,.btn--primary:hover{
  background:var(--brand-hover);
  color:var(--on-dark)
}
.btn--cream{
  background:var(--cream);
  color:var(--ink)
}
.btn--cream:hover{
  background:var(--card)
}
.btn--ghost{
  border-color:var(--line)
}
.btn-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:30px;
  margin-top:30px
}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:25px;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  padding:10px 0;
  border-bottom:1px solid currentColor
}
.text-link:hover{
  color:var(--brand)
}
.landscape-hero{
  position:relative;
  isolation:isolate;
  color:var(--on-dark);
  min-height:680px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:var(--forest)
}
.landscape-hero__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 55%;
  z-index:-2
}
.landscape-hero:after{
  content:'';
  position:absolute;
  inset:0;
  background:var(--hero-shade);
  z-index:-1
}
.landscape-hero__body{
  padding-top:68px;
  padding-bottom:90px
}
.landscape-hero h1{
  font-size:clamp(60px,7.6vw,108px);
  letter-spacing:-.06em;
  line-height:1.01
}
.landscape-hero h1 em{
  color:var(--cream)
}
.landscape-hero .eyebrow{
  display:flex;
  align-items:center;
  gap:11px;
  color:var(--cream)
}
.status-dot{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green-light);
  flex-shrink:0
}
.hero-lede{
  font-size:18px;
  line-height:1.6;
  margin:25px 0 0;
  color:var(--on-dark)
}
.hero-link{
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  border-bottom:1px solid var(--soft-dark);
  padding:10px 0
}
.hero-link span{
  margin-left:15px
}
.hero-foot{
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-size:10px;
  letter-spacing:.12em;
  padding-top:20px;
  padding-bottom:23px;
  position:absolute;
  bottom:0;
  left:0;
  right:0
}
.hero-foot:before{
  content:'';
  position:absolute;
  top:0;
  left:var(--gutter);
  right:var(--gutter);
  height:1px;
  background:var(--device-lines)
}
.hero-foot span:last-child{
  letter-spacing:0;
  font-size:12px
}
.benefit-strip{
  border-bottom:1px solid var(--line)
}
.benefit-strip>.wrap{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding-top:22px;
  padding-bottom:22px;
  text-align:center;
  font-size:13px;
  font-weight:500
}
.benefit-strip span+span{
  border-left:1px solid var(--line)
}
.benefit-strip span:before{
  content:'✓';
  margin-right:10px;
  color:var(--brand)
}
.section-heading{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:80px;
  align-items:end;
  margin-bottom:46px
}
.section-heading>p,.section-heading>div+p{
  color:var(--ink-2);
  max-width:43ch;
  font-size:16px
}
.section-heading .eyebrow{
  color:var(--brand);
  margin-bottom:20px
}
.tour-tabs{
  display:none;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line);
  margin-bottom:30px
}
.js .tour-tabs{
  display:grid
}
.tour-tabs button{
  cursor:pointer;
  text-align:left;
  padding:18px 12px;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:var(--muted);
  font-size:11px
}
.tour-tabs button span{
  margin-left:10px;
  font-size:16px
}
.tour-tabs button[aria-selected=true]{
  border-bottom-color:var(--brand);
  color:var(--brand);
  font-weight:600
}
.tour-tabs button:hover{
  background:var(--paper-2)
}
.tour-copy{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:15px 70px;
  align-items:start;
  margin-bottom:28px
}
.tour-copy h3{
  font-size:24px;
  max-width:22ch
}
.tour-copy p{
  font-size:15px;
  line-height:1.65;
  color:var(--ink-2);
  margin:0
}
.tour-copy .text-link{
  grid-column:1;
  font-size:13px;
  justify-self:start;
  margin-top:-4px
}
.browser-frame{
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  background:var(--card);
  box-shadow:var(--shadow)
}
.browser-bar{
  height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 18px;
  background:var(--paper-2);
  font-size:9px;
  letter-spacing:.11em;
  color:var(--muted)
}
.browser-dots{
  letter-spacing:3px;
  color:var(--muted)
}
.browser-frame img{
  width:100%
}
.tour-panel+.tour-panel{
  margin-top:44px
}
.js .tour-panel{
  margin-top:0
}
.screenshot-note{
  font-size:12px;
  color:var(--muted);
  margin-top:20px;
  text-align:center
}
.field-section{
  background:var(--forest);
  color:var(--on-dark);
  padding-block:var(--band);
  overflow:hidden
}
.field-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:90px;
  align-items:center
}
.field-copy>.eyebrow{
  color:var(--soft-dark)
}
.field-copy>p:not(.eyebrow){
  color:var(--soft-dark);
  max-width:43ch;
  margin-top:25px;
  font-size:16px
}
.field-copy h2 em{
  color:var(--green-light)
}
.field-steps{
  list-style:none;
  margin:32px 0 20px;
  padding:0
}
.field-steps li{
  display:flex;
  gap:24px;
  padding:19px 0;
  border-top:1px solid var(--device-lines)
}
.field-steps li>span{
  font-size:12px;
  color:var(--green-light);
  padding-top:2px
}
.field-steps h3{
  font-size:17px;
  font-weight:500
}
.field-steps p{
  font-size:13px;
  color:var(--soft-dark);
  margin-top:6px
}
.field-copy .text-link:hover{
  color:var(--green-light)
}
.field-copy p.field-plan{
  font-size:11px;
  margin-top:17px
}
.field-device{
  position:relative;
  display:flex;
  align-items:center;
  flex-direction:column;
  padding:35px 25px;
  background:repeating-radial-gradient(ellipse at center,var(--forest) 0,var(--forest) 48px,var(--device-lines) 49px,var(--forest) 50px);
  border:1px solid var(--device-lines);
  border-radius:200px 200px 8px 8px
}
.field-device__label{
  font-size:10px;
  letter-spacing:.2em;
  margin-bottom:25px;
  color:var(--soft-dark)
}
.phone{
  width:245px;
  padding:8px;
  background:var(--frame);
  border-radius:31px;
  box-shadow:var(--phone-shadow);
  flex-shrink:0
}
.phone img{
  width:100%;
  border-radius:23px
}
.offline-badge{
  background:var(--cream);
  color:var(--ink);
  padding:15px 22px;
  margin-top:-20px;
  z-index:1;
  font-size:10px;
  font-weight:600;
  letter-spacing:.1em;
  box-shadow:var(--shadow);
  border-radius:3px
}
.offline-badge .status-dot{
  background:var(--brand);
  margin-right:8px
}
.field-device>p{
  color:var(--soft-dark);
  font-size:10px;
  margin-top:15px
}
.connection-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line)
}
.connection-grid>a{
  padding:32px 30px 0 0;
  text-decoration:none
}
.connection-grid>a+a{
  padding-left:30px;
  border-left:1px solid var(--line)
}
.feature-number{
  font-size:10px;
  letter-spacing:.13em;
  color:var(--brand)
}
.connection-grid h3{
  font-family:var(--display);
  font-weight:400;
  font-size:32px;
  line-height:1.12;
  letter-spacing:-.04em;
  margin:28px 0 20px
}
.connection-grid p{
  font-size:15px;
  color:var(--ink-2);
  max-width:30ch
}
.connection-grid>a:hover h3{
  color:var(--brand)
}
.story-strip{
  display:grid;
  grid-template-columns:1fr 1fr;
  background:var(--paper-2)
}
.story-strip__image img{
  width:100%;
  height:100%;
  object-fit:cover
}
.story-strip__copy{
  padding:clamp(38px,6vw,90px);
  align-self:center
}
.story-strip__copy h2{
  font-size:clamp(34px,3.5vw,48px)
}
.story-strip__copy>p:not(.eyebrow){
  font-size:16px;
  color:var(--ink-2);
  margin-top:25px
}
.price-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.price-summary>a{
  border:1px solid var(--line);
  padding:30px;
  text-decoration:none;
  transition:background .2s
}
.price-summary>a:hover{
  background:var(--paper-2)
}
.price-summary>a:nth-child(2){
  background:var(--paper-2);
  border-color:var(--brand)
}
.price-summary>a>span{
  font-size:10px;
  letter-spacing:.14em;
  color:var(--brand)
}
.price-summary h3{
  font-size:20px;
  margin-top:18px;
  font-weight:500
}
.price-summary p{
  font-size:13px;
  margin:20px 0 5px
}
.price-summary b{
  font-size:40px;
  letter-spacing:-.04em;
  font-weight:500
}
.price-summary small{
  font-size:12px;
  color:var(--muted)
}
.closing{
  background:var(--brand);
  color:var(--on-dark);
  padding:70px 0
}
.closing__inner{
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:center
}
.closing .eyebrow{
  color:var(--soft-dark);
  margin-bottom:18px
}
.closing h2{
  font-size:clamp(38px,4.2vw,60px)
}
.closing__action p{
  font-size:12px;
  color:var(--soft-dark);
  margin-top:17px
}
.footer{
  background:var(--forest);
  color:var(--on-dark);
  padding:60px 0 24px
}
.footer__grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:50px
}
.footer .wordmark{
  margin-bottom:24px
}
.footer__brand p{
  font-size:15px;
  color:var(--soft-dark)
}
.footer__values{
  font-size:9px;
  letter-spacing:.13em;
  color:var(--soft-dark)
}
.footer h3{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:18px;
  color:var(--soft-dark)
}
.footer ul{
  list-style:none;
  padding:0;
  margin:0
}
.footer li a{
  font-size:14px;
  text-decoration:none;
  display:inline-block;
  padding:5px 0
}
.footer a:hover{
  text-decoration:underline
}
.footer__fine{
  display:flex;
  justify-content:space-between;
  gap:30px;
  border-top:1px solid var(--device-lines);
  padding-top:23px;
  margin-top:50px;
  font-size:11px;
  color:var(--soft-dark)
}
.photo-credit{
  font-size:10px;
  color:var(--soft-dark);
  max-width:100ch;
  line-height:1.7;
  margin-top:13px
}
.pagehead{
  padding:65px 0 48px
}
.pagehead .eyebrow{
  color:var(--brand)
}
.pagehead h1{
  max-width:17ch
}
.pagehead .lede{
  font-size:18px;
  max-width:55ch;
  color:var(--ink-2);
  margin-top:24px
}
.product-hero{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:65px;
  align-items:center;
  padding-top:70px;
  padding-bottom:70px
}
.product-hero h1{
  font-size:clamp(44px,4.7vw,68px)
}
.product-hero .eyebrow{
  color:var(--brand)
}
.product-hero .lede{
  margin-top:24px;
  color:var(--ink-2);
  font-size:17px;
  max-width:42ch
}
.product-hero .browser-frame{
  transform:none
}
.product-hero figcaption{
  font-size:11px;
  color:var(--muted);
  margin-top:18px;
  text-align:center
}
.product-facts{
  background:var(--paper-2);
  border-block:1px solid var(--line)
}
.product-facts .wrap{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:35px;
  padding-top:27px;
  padding-bottom:27px
}
.product-facts span{
  font-size:13px;
  color:var(--brand);
  font-weight:500
}
.detail-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px
}
.detail-grid article{
  border-top:1px solid var(--line);
  padding-top:22px
}
.detail-grid .feature-number{
  display:block;
  margin-bottom:24px
}
.detail-grid h3{
  font-size:22px;
  margin-bottom:16px
}
.detail-grid p{
  font-size:15px;
  color:var(--ink-2)
}
.product-deep{
  background:var(--paper-2)
}
.split{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:75px;
  align-items:center
}
.split p:not(.eyebrow){
  font-size:16px;
  color:var(--ink-2);
  margin-top:24px
}
.split .browser-frame{
  box-shadow:var(--shadow)
}
.split .phone{
  margin:auto
}
.split figcaption{
  font-size:11px;
  color:var(--muted);
  margin-top:20px;
  text-align:center
}
.product-note{
  border-left:2px solid var(--brand);
  padding-left:20px;
  margin-top:28px;
  font-size:13px;
  color:var(--ink-2)
}
.related{
  padding:45px 0
}
.related .wrap{
  display:flex;
  gap:25px;
  align-items:center;
  flex-wrap:wrap
}
.related p{
  margin:0 auto 0 0;
  font-size:12px;
  color:var(--muted)
}
.related a{
  font-size:13px;
  text-decoration:none;
  padding:8px 0
}
.related a:hover{
  text-decoration:underline
}
.pricing-heading{
  text-align:center
}
.pricing-heading h1{
  max-width:none
}
.pricing-heading .lede{
  margin-inline:auto
}
.access-note{
  display:inline-flex;
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:3px;
  font-size:12px;
  margin-top:20px
}
.tiers{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:0
}
.tier{
  padding:32px;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  background:var(--card);
  border-radius:5px
}
.tier--picked{
  background:var(--forest);
  color:var(--on-dark);
  border-color:var(--forest)
}
.tier__label{
  font-size:10px;
  letter-spacing:.12em;
  margin-bottom:22px
}
.tier h2{
  font-family:var(--ui);
  font-size:26px;
  font-weight:500;
  letter-spacing:-.03em
}
.tier__for{
  font-size:13px;
  color:var(--muted);
  margin-top:10px;
  min-height:42px
}
.tier--picked .tier__for,.tier.tier--picked small,.tier--picked .tier__features{
  color:var(--soft-dark)
}
.tier__price{
  font-size:52px;
  line-height:1.1;
  letter-spacing:-.04em;
  margin:15px 0 6px
}
.tier__price span{
  font-size:13px;
  letter-spacing:0
}
.tier small{
  color:var(--muted);
  font-size:12px
}
.tier__limits{
  list-style:none;
  margin:25px 0 0;
  padding:20px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:13px
}
.tier--picked .tier__limits{
  border-color:var(--device-lines)
}
.tier__limits li{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:4px 0
}
.tier__features{
  padding:20px 0 25px 18px;
  margin:0;
  font-size:13px;
  color:var(--ink-2);
  flex:1
}
.tier__features li{
  padding:5px 0
}
.tier .btn{
  gap:12px
}
.pricing-note{
  font-size:12px;
  color:var(--muted);
  text-align:center;
  margin:25px 0 0
}
.faq-layout{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:80px
}
.faq details{
  border-top:1px solid var(--line);
  padding:20px 0
}
.faq details:last-child{
  border-bottom:1px solid var(--line)
}
.faq summary{
  font-size:17px;
  cursor:pointer;
  font-weight:500;
  padding-right:20px
}
.faq details p{
  font-size:15px;
  color:var(--ink-2);
  margin-top:17px;
  max-width:60ch
}
.about-hero{
  padding-top:65px
}
.about-hero h1{
  font-size:clamp(50px,6vw,86px);
  max-width:18ch
}
.about-hero .lede{
  font-size:19px;
  color:var(--ink-2);
  max-width:55ch;
  margin-top:25px
}
.about-photo{
  margin-top:45px
}
.about-photo img{
  width:100%;
  height:440px;
  object-fit:cover;
  object-position:50% 65%;
  border-radius:4px
}
.about-photo figcaption{
  font-size:11px;
  color:var(--muted);
  margin-top:12px
}
.story-body{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:85px
}
.story-body p{
  font-size:18px;
  color:var(--ink-2)
}
.values{
  background:var(--paper-2)
}
.values .detail-grid{
  margin-top:40px
}
.verse{
  border-top:1px solid var(--line);
  margin-top:45px;
  padding-top:30px;
  font-family:var(--display);
  font-style:italic;
  font-size:25px
}
.verse span{
  display:block;
  font-family:var(--ui);
  font-style:normal;
  font-size:11px;
  letter-spacing:.08em;
  margin-top:13px
}
@media(min-width:1600px){
  .landscape-hero{
    min-height:760px
  }
}
@media(max-width:1100px){
  .nav{
    gap:18px
  }
  .nav>a,.nav summary{
    font-size:12px
  }
  .nav .btn{
    padding:13px 16px;
    gap:15px
  }
  .nav .nav__login{
    padding-left:16px
  }
  .wordmark__sub{
    font-size:7px
  }
  .masthead__inner{
    gap:20px
  }
  .section-heading{
    gap:40px
  }
  .field-grid{
    gap:45px
  }
  .tier{
    padding:25px
  }
  .product-hero{
    gap:35px
  }
}
@media(max-width:960px){
  .masthead__inner{
    min-height:76px
  }
  .burger{
    display:flex
  }
  .nav{
    display:flex;
    flex-wrap:wrap;
    padding:20px var(--gutter);
    border-top:1px solid var(--line);
    gap:15px
  }
  .masthead__inner{
    flex-wrap:wrap
  }
  .nav{
    width:100%
  }
  .js .nav{
    display:none;
    position:absolute;
    top:76px;
    left:0;
    right:0;
    width:auto;
    max-height:calc(100dvh - 76px);
    overflow-y:auto;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    flex-direction:column;
    align-items:stretch
  }
  .js .nav[data-open]{
    display:flex
  }
  .nav>a,.nav summary{
    font-size:15px
  }
  .nav .nav__login{
    border-left:0;
    padding-left:0
  }
  .menu__panel{
    position:static;
    box-shadow:none;
    width:auto;
    border:0;
    background:transparent;
    padding:0;
    gap:0
  }
  .menu__panel a{
    padding:9px 0;
    font-size:14px
  }
  .menu__panel span{
    display:none
  }
  .nav .nav__cta{
    align-self:start;
    font-size:14px
  }
  .menu summary{
    padding-top:0
  }
  .landscape-hero{
    min-height:660px
  }
  .field-grid{
    gap:35px
  }
  .field-device{
    padding-inline:10px
  }
  .section-heading{
    grid-template-columns:1.1fr 1fr
  }
  .product-hero{
    grid-template-columns:1fr;
    padding-block:50px
  }
  .product-hero h1{
    max-width:19ch
  }
  .product-hero .lede{
    max-width:55ch
  }
  .product-hero .browser-frame{
    transform:none
  }
  .split{
    gap:40px
  }
  .tiers{
    gap:12px
  }
  .tier{
    padding:22px
  }
  .tier__for{
    min-height:64px
  }
  .tier .btn{
    font-size:12px;
    padding:15px 10px
  }
  .price-summary>a{
    padding:23px
  }
  .story-strip__copy{
    padding:40px
  }
  .footer__grid{
    gap:30px
  }
}
@media(max-width:700px){
  html{
    scroll-padding-top:85px
  }
  .landscape-hero{
    min-height:650px
  }
  .landscape-hero__body{
    padding-top:50px;
    padding-bottom:95px
  }
  .landscape-hero h1{
    font-size:clamp(57px,10vw,76px)
  }
  .landscape-hero__image{
    object-position:60% center
  }
  .hero-lede{
    font-size:16px;
    max-width:30ch
  }
  .desktop-break{
    display:none
  }
  .hero-foot span:first-child{
    display:none
  }
  .hero-foot{
    font-size:10px
  }
  .landscape-hero .eyebrow{
    font-size:9px
  }
  .btn-row{
    gap:20px
  }
  .btn{
    font-size:13px;
    padding:15px 18px;
    gap:20px
  }
  .benefit-strip>.wrap{
    grid-template-columns:1fr;
    gap:8px;
    text-align:left;
    padding-block:18px;
    font-size:12px
  }
  .benefit-strip span+span{
    border-left:0
  }
  .section-heading{
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:30px
  }
  .section-heading>p{
    max-width:50ch
  }
  .tour-tabs{
    margin-bottom:24px
  }
  .tour-tabs button{
    padding:12px 4px;
    font-size:9px
  }
  .tour-tabs button span{
    font-size:12px;
    display:block;
    margin:5px 0 0
  }
  .tour-copy{
    grid-template-columns:1fr;
    gap:15px
  }
  .tour-copy h3{
    font-size:23px;
    max-width:none
  }
  .tour-copy .text-link{
    grid-column:auto
  }
  .browser-bar{
    height:30px;
    font-size:8px;
    padding-inline:12px
  }
  .browser-bar>span:last-child{
    display:none
  }
  .screenshot-note{
    font-size:10px
  }
  .field-grid{
    grid-template-columns:1fr;
    gap:40px
  }
  .field-device{
    max-width:380px;
    width:100%;
    margin:auto
  }
  .field-copy h2{
    font-size:44px
  }
  .field-copy>p:not(.eyebrow){
    max-width:none
  }
  .connection-grid{
    grid-template-columns:1fr
  }
  .connection-grid>a,.connection-grid>a+a{
    padding:28px 0;
    border-left:0;
    border-bottom:1px solid var(--line)
  }
  .connection-grid h3{
    font-size:30px;
    margin:18px 0 15px
  }
  .connection-grid h3 br{
    display:none
  }
  .connection-grid p{
    max-width:none
  }
  .story-strip{
    grid-template-columns:1fr
  }
  .story-strip__image img{
    height:300px
  }
  .story-strip__copy{
    padding:45px var(--gutter)
  }
  .price-summary{
    grid-template-columns:1fr;
    gap:12px
  }
  .price-summary>a{
    padding:24px;
    display:grid;
    grid-template-columns:1fr auto;
    column-gap:10px
  }
  .price-summary h3{
    grid-column:1;
    margin-top:8px
  }
  .price-summary p{
    grid-column:2;
    grid-row:1 / 3;
    margin:0;
    align-self:center
  }
  .price-summary small{
    grid-column:1 / -1;
    margin-top:14px
  }
  .price-summary b{
    font-size:35px
  }
  .closing__inner{
    align-items:start;
    flex-direction:column;
    gap:30px
  }
  .closing{
    padding-block:50px
  }
  .footer__grid{
    grid-template-columns:1fr 1fr;
    gap:35px
  }
  .footer__brand{
    grid-column:1 / -1
  }
  .footer__fine{
    flex-direction:column;
    gap:10px;
    margin-top:35px
  }
  .footer__fine p{
    margin:0
  }
  .footer li a{
    font-size:13px;
    overflow-wrap:anywhere
  }
  .pagehead{
    padding-top:45px
  }
  .product-facts .wrap{
    grid-template-columns:1fr;
    gap:12px
  }
  .product-facts span:before{
    content:'✓';
    margin-right:10px
  }
  .detail-grid{
    grid-template-columns:1fr;
    gap:28px
  }
  .detail-grid .feature-number{
    margin-bottom:15px
  }
  .split{
    grid-template-columns:1fr;
    gap:35px
  }
  .product-hero{
    gap:35px
  }
  .product-hero h1{
    font-size:49px
  }
  .tiers{
    grid-template-columns:1fr;
    gap:20px
  }
  .tier{
    padding:30px
  }
  .tier__for{
    min-height:0
  }
  .tier .btn{
    font-size:14px
  }
  .tier__features{
    padding-block:20px
  }
  .faq-layout{
    grid-template-columns:1fr;
    gap:30px
  }
  .pricing-heading h1{
    font-size:48px
  }
  .story-body{
    grid-template-columns:1fr;
    gap:30px
  }
  .about-photo img{
    height:280px
  }
  .about-hero{
    padding-top:45px
  }
  .about-hero h1{
    font-size:54px
  }
  .about-hero .lede{
    font-size:17px
  }
  .story-body p{
    font-size:16px
  }
  .related .wrap{
    gap:12px 20px
  }
  .related p{
    flex-basis:100%
  }
}
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  *,*::before,*::after{
    transition-duration:.001ms!important;
    animation-duration:.001ms!important
  }
}
.credits-list {
  padding-bottom:70px;
}
.credits-list article {
  border-top:1px solid var(--line);
  padding:30px 0;
  max-width:850px;
}
.credits-list h2 {
  font-size:30px;
  margin-bottom:20px;
}
.credits-list p {
  font-size:15px;
  color:var(--ink-2);
}
