.m404__in { display:grid; grid-template-columns:minmax(0,1fr) var(--rail-r); gap:var(--gap) }
.m404__eyebrow { color:var(--text-faint) }
.m404__t {
  font:400 42px/1.06 var(--f-display);
  letter-spacing:-.018em; color:var(--ink-hard);
  margin-top:12px; text-wrap:pretty;
}
.m404__d {
  font:400 16px/1.45 var(--f-display);
  color:var(--body); margin-top:12px; max-width:52ch; text-wrap:pretty;
}

.m404__search { display:flex; margin-top:22px; max-width:520px }
.m404__input {
  flex:1; min-width:0;
  border:1px solid var(--border-alt); border-right:0;
  padding:11px 12px; font-size:13px; color:var(--ink);
}
.m404__btn { flex:none; padding:0 18px }

.m404__sub {
  font:700 10px/1 var(--f-body);
  letter-spacing:.14em; text-transform:uppercase; color:var(--text-faint);
  margin-top:30px; padding-bottom:12px; border-bottom:1px solid var(--structure);
}
.m404__chips { margin-top:14px }

.m404__rail { padding-left:var(--gap) }

@media (max-width:900px) {
  .m404__in { grid-template-columns:minmax(0,1fr) }
  .m404__rail { border-left:0; padding-left:0; border-top:1px solid var(--structure); padding-top:16px }
}
@media (max-width:780px) {
  .m404__t { font-size:30px }
  .m404__d { font-size:15px }

  
  .m404__search { display:block; max-width:none; margin-top:20px }
  .m404__input {
    display:block; width:100%;
    font-size:16px;              
    padding:14px 12px;
    border-right:1px solid var(--border-alt);
    border-bottom:0;
  }
  .m404__btn { display:block; width:100%; padding:16px 20px }   

  
  .m404__chips {
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;              
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;  
    scrollbar-width:none;
    margin-inline:calc(var(--gutter) * -1);
    width:calc(100% + var(--gutter) * 2); max-width:none;
    padding-inline:var(--gutter);
    scroll-snap-type:x proximity;
  }
  .m404__chips::-webkit-scrollbar { display:none }
  .m404__chips .ed-chip {
    flex:none;                      
    scroll-snap-align:start;
    padding:17px 12px; line-height:1;   
  }
  .m404__chips .ed-chip:last-child { margin-right:var(--gutter) }
}

.nl-hero__in { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:var(--gap); align-items:start }
.nl-hero__eyebrow { color:var(--text-faint) }
.nl-hero__t {
  font:400 42px/1.06 var(--f-display);
  letter-spacing:-.018em; color:var(--ink-hard);
  margin-top:12px; text-wrap:pretty;
  
  max-width:28ch;
}
.nl-hero__d {
  font:400 16px/1.45 var(--f-display);
  color:var(--body); margin-top:14px; max-width:54ch; text-wrap:pretty;
}
.nl-hero__proof {
  font:400 12.5px/1.45 var(--f-body);
  color:var(--text-2); margin-top:18px;
}
.nl-hero__proof b { font-weight:700; color:var(--ink-hard) }

.nl-form { margin-top:0 }
.stacked-newsletter-form { margin-top:12px }

.stacked-newsletter-form > p { display:none }
.stacked-newsletter-form .input-wrapper { display:flex }
.stacked-newsletter-form input[type="email"] {
  flex:1; min-width:0;
  border:1px solid var(--border-alt); border-right:0; border-radius:0;
  background:var(--card); color:var(--ink);
  padding:11px 12px; font-size:12px;
}
.stacked-newsletter-form button {
  flex:none; border:0; border-radius:0;
  background:var(--mango); color:var(--on-mango);
  font:700 10px/1 var(--f-body);
  letter-spacing:.13em; text-transform:uppercase;
  padding:0 16px; cursor:pointer;
}
.stacked-newsletter-form button:hover { background:var(--mango-hover) }
.stacked-newsletter-form button:disabled { background:var(--mango-disabled); cursor:not-allowed }

.stacked-newsletter-form #response-message {
  font:400 11px/1.4 var(--f-body);
  color:var(--sig-growth); margin-top:10px;
}
.stacked-newsletter-form #response-message:empty { margin-top:0 }

.nl-panels__in { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:var(--gap) }
.nl-panel__h { margin-top:0; padding-bottom:12px; border-bottom:1px solid var(--structure) }

.nl-inside__i { display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--border) }
.nl-inside__i:last-child { border-bottom:0 }
.nl-inside__n {
  flex:none; width:22px;
  font:700 10px/1.5 var(--f-body);
  letter-spacing:.1em; color:var(--text-faint);
}
.nl-inside__t {
  display:block; font-weight:400;
  font:400 15px/1.25 var(--f-display); color:var(--ink-hard);
}
.nl-inside__d {
  display:block;
  font:400 13px/1.45 var(--f-display); color:var(--body); margin-top:5px;
}

.nl-covered__i { display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--border) }
.nl-covered__i:last-child { border-bottom:0 }
.nl-covered__img {
  flex:none; width:120px; height:75px;
  object-fit:cover; background:var(--panel); display:block;
}
.nl-covered__t {
  display:block;
  font:400 15px/1.25 var(--f-display); color:var(--ink-hard); text-wrap:pretty;
}
.nl-covered__by { display:block; margin-top:7px }

.nl-close {
  background:var(--intel-dark); color:var(--ivory-2);
  border-top:0; padding:26px 28px;
}
.nl-close__in {
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--gap); flex-wrap:wrap;
}
.nl-close__t {
  font:400 27px/1.1 var(--f-display);
  letter-spacing:-.015em; color:var(--ivory-2);
}
.nl-close__d {
  font:400 14px/1.45 var(--f-display);
  color:var(--border-alt); margin-top:10px; max-width:48ch;
}
.nl-close__cta { margin:0 }

@media (max-width:1000px) {
  .nl-hero__in { grid-template-columns:minmax(0,1fr) }
  .nl-hero__t { font-size:34px; max-width:none }
}
@media (max-width:780px) {
  .nl-hero__t { font-size:28px }
  .nl-hero__d { font-size:15px }

  
  .stacked-newsletter-form .input-wrapper { display:block }
  .stacked-newsletter-form input[type="email"] {
    display:block; width:100%;
    font-size:16px;              
    padding:14px 12px;
    border-right:1px solid var(--border-alt);
    border-bottom:0;
  }
  .stacked-newsletter-form button {
    display:block; width:100%;
    padding:16px 20px;           
  }

  
  .nl-covered__img { width:110px; height:69px }
  .nl-inside__i, .nl-covered__i { padding:16px 0 }

  .nl-close {
    margin-inline:calc(var(--gutter) * -1);
    width:calc(100% + var(--gutter) * 2); max-width:none;
    padding:22px var(--gutter);
  }
  .nl-close__t { font-size:23px }
  .nl-close__in { display:block }
  .nl-close__cta { margin-top:20px }
  .nl-close__cta .ed-cta {
    display:block; width:100%; text-align:center;
    padding:16px 20px;
  }
}

@media (max-width:360px) {
  
  .nl-covered__img { width:92px; height:58px }
}
