/* The three editorial sections of the homepage. */
body.home .ngh .ngh-feature {
  --feature-ink: #202124;
  --feature-green: #84C041;
  --feature-lime: #B5E66A;
  --feature-muted: #62676B;
  box-sizing: border-box;
  padding: clamp(56px, 6.8vw, 102px) 0;
  scroll-margin-top: 100px;
  color: var(--feature-ink);
  text-align: left;
}
.ngh .ngh-feature *, .ngh .ngh-feature *::before, .ngh .ngh-feature *::after { box-sizing: border-box; }
.ngh .ngh-feature .ng-feature-shell {
  width: min(1180px, calc(100% - clamp(36px, 8vw, 100px)));
  margin-inline: auto;
}
.ngh .ngh-feature h2, .ngh .ngh-feature h3, .ngh .ngh-feature p { margin: 0; padding: 0; text-transform: none; }
.ngh .ngh-feature h2, .ngh .ngh-feature h3, .ngh .ngh-feature summary, .ngh .ngh-feature .ng-feature-link { font-family: 'Proximanova-bold', Arial, sans-serif; }
.ngh .ngh-feature h2 {
  color: inherit;
  font-size: clamp(42px, 5.4vw, 76px);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 700;
}
.ngh .ngh-feature h2 > span { color: var(--feature-green); }
.ngh .ngh-feature .ng-feature-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding-bottom: clamp(22px, 3vw, 40px);
}
.ngh .ngh-feature a.ng-feature-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  width: fit-content;
  color: inherit;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.3;
  letter-spacing: -.015em;
  text-decoration: none;
}
.ngh .ngh-feature .ng-feature-link span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--feature-lime);
  color: var(--feature-ink);
  font: 21px/1 Arial, sans-serif;
  transition: transform .18s ease;
}
.ngh .ngh-feature .ng-feature-link:hover span { transform: translate(2px,-2px); }
.ngh .ngh-feature :is(a,summary):focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
body.home .ngh #ai-powered.ng-edge { background: #202124; color: #fff; }
.ngh .ng-edge .ng-edge-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(30px,5vw,74px); }
.ngh .ng-edge .ng-edge-copy h2 { color: #fff; }
.ngh .ng-edge .ng-edge-copy h2 em { color: var(--feature-lime); font: inherit; }
.ngh .ng-edge .ng-edge-copy p { max-width: 44ch; margin: 22px 0 14px; font-size: clamp(17px,1.4vw,20px); line-height: 1.55; color: #ECEEF0; }
.ngh .ng-edge .ng-edge-copy a { color: #fff; }
.ngh .ng-edge .ng-edge-figure { overflow: hidden; margin: 0; border-radius: 14px; border: 1px solid #545B62; background: #191B20; }
.ngh .ng-edge .ng-edge-figure > svg { display: block; width: 100%; height: auto; max-width: none; }
.ng-robot-demo .ng-r-scene { opacity: 0; transition: opacity .26s ease; }
.ng-robot-demo[data-scene="brief"] .ng-r-notes,
.ng-robot-demo[data-scene="layout"] .ng-r-wireframe,
.ng-robot-demo[data-scene="draft"] .ng-r-draft { opacity: 1; }
.ng-robot-demo .ng-r-head, .ng-robot-demo .ng-r-arm { transform-box: view-box; transition: transform .7s cubic-bezier(.2,.7,.3,1); }
.ng-robot-demo .ng-r-head { transform-origin: 143px 206px; }
.ng-robot-demo .ng-r-arm { transform-origin: 188px 243px; }
.ng-robot-demo[data-scene="brief"] .ng-r-head { transform: rotate(6deg) translateY(2px); }
.ng-robot-demo[data-scene="brief"] .ng-r-arm { transform: rotate(16deg); }
.ng-robot-demo[data-scene="layout"] .ng-r-head { transform: rotate(-4deg) translateY(-3px); }
.ng-robot-demo[data-scene="draft"] .ng-r-head { transform: rotate(-2deg); }
.ng-robot-demo[data-scene="draft"] .ng-r-arm { transform: rotate(-12deg); }
.ng-robot-demo .ng-r-eyes { transform-box: fill-box; transform-origin: center; }
.ng-robot-demo .ng-r-projection { opacity: 0; }
.ng-robot-demo[data-scene="layout"] .ng-r-projection { opacity: 1; }
.ng-robot-demo .ng-r-console[hidden] { display: none; }
.ng-robot-demo .ng-r-console {
  display: flex; justify-content: space-between; align-items: center; gap: 8px;
  padding: 6px clamp(9px,2vw,20px); color: #FFF; background: #20242A; border-top: 1px solid #434952;
}
.ng-robot-demo .ng-r-stages { display: flex; gap: clamp(0px,.6vw,9px); }
.ngh .ng-robot-demo .ng-r-console button {
  display: inline-flex; width: auto; min-width: 0; min-height: 42px; align-items: center; justify-content: center;
  gap: 6px; margin: 0; padding: 4px 8px; border: 0; border-radius: 4px; box-shadow: none; background: transparent; color: #E3E7ED;
  cursor: pointer; font: 700 14px/1.2 'Proximanova-bold',Arial,sans-serif; letter-spacing: 0; text-transform: none;
}
.ngh .ng-robot-demo .ng-r-stages button::before { content: ''; width: 7px; height: 7px; border: 1px solid #9DA6AF; border-radius: 50%; }
.ngh .ng-robot-demo .ng-r-stages button[aria-pressed="true"] { color: #D5F7A4; }
.ngh .ng-robot-demo .ng-r-stages button[aria-pressed="true"]::before { border-color: #B5E66A; background: #B5E66A; }
.ngh .ng-robot-demo .ng-r-console button:hover { background: #343A42; }
.ngh .ng-robot-demo .ng-r-console button:focus-visible { outline: 2px solid #C4F185; outline-offset: 1px; }
.ngh .ng-robot-demo .ng-r-playback svg { width: 13px; height: 13px; }
.ng-robot-demo .ng-r-play-icon, .ng-robot-demo[data-paused="true"] .ng-r-pause-icon { display: none; }
.ng-robot-demo[data-paused="true"] .ng-r-play-icon { display: block; }
.ng-robot-demo.ng-r-motion .ng-r-body { animation: ng-r-hover 3.2s ease-in-out infinite; }
.ng-robot-demo.ng-r-motion .ng-r-eyes { animation: ng-r-blink 3.5s infinite; }
.ng-robot-demo.ng-r-motion[data-scene="brief"] .ng-r-scan { animation: ng-r-scan 2.4s ease-in-out both; }
.ng-robot-demo.ng-r-motion[data-scene="layout"] .ng-r-draw { stroke-dasharray: 1; animation: ng-r-draw 1.45s ease-in-out both; }
.ng-robot-demo.ng-r-motion[data-scene="layout"] .ng-r-draw:nth-child(2) { animation-delay: .38s; }
.ng-robot-demo.ng-r-motion[data-scene="layout"] .ng-r-draw:nth-child(3) { animation-delay: .64s; }
.ng-robot-demo.ng-r-motion[data-scene="layout"] .ng-r-draw:nth-child(4) { animation-delay: .9s; }
.ng-robot-demo.ng-r-motion[data-scene="layout"] .ng-r-projection { animation: ng-r-beam .85s ease-in-out infinite alternate; }
.ng-robot-demo.ng-r-motion[data-scene="draft"] .ng-r-finish-art,
.ng-robot-demo.ng-r-motion[data-scene="draft"] .ng-r-finish-copy,
.ng-robot-demo.ng-r-motion[data-scene="draft"] .ng-r-finish-cta { animation: ng-r-assemble .6s ease-out both; }
.ng-robot-demo.ng-r-motion[data-scene="draft"] .ng-r-finish-art { animation-delay: .12s; }
.ng-robot-demo.ng-r-motion[data-scene="draft"] .ng-r-finish-cta { animation-delay: .24s; }
.ng-robot-demo[data-paused="true"] *, .ng-robot-demo[data-offscreen="true"] * { animation-play-state: paused !important; }
@keyframes ng-r-hover { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes ng-r-blink { 0%,36%,44%,100% { transform: scaleY(1); } 40% { transform: scaleY(.13); } }
@keyframes ng-r-scan { 0% { opacity: 0; transform: translateY(-5px); } 12%,76% { opacity: .8; } 100% { opacity: 0; transform: translateY(108px); } }
@keyframes ng-r-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes ng-r-beam { from { opacity: .44; } to { opacity: 1; } }
@keyframes ng-r-assemble { from { opacity: .2; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 390px) {
  .ngh .ng-robot-demo .ng-r-console button { gap: 5px; padding-inline: 5px; font-size: 13px; }
}

body.home .ngh #home-blog.ng-journal { background: #FFF; padding: clamp(28px,3.3vw,47px) 0; }
.ngh #home-blog .ng-feature-heading { flex-direction: row; align-items: center; gap: 16px; padding-bottom: 14px; }
.ngh #home-blog .ng-feature-heading h2 { font-size: clamp(32px,3.1vw,45px); line-height: 1.05; }
.ngh #home-blog .ng-feature-link { gap: 8px; white-space: nowrap; font-size: 15px; }
.ngh #home-blog .ng-feature-link span { width: 27px; height: 27px; font-size: 17px; }
.ngh .ng-journal .ng-journal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(14px,1.7vw,24px); padding-top: 18px; border-top: 2px solid #202124; }
.ngh .ng-journal .ng-journal-story { min-width: 0; margin: 0; padding: 0; }
.ngh .ng-journal .ng-journal-story + .ng-journal-story { border-left: 1px solid #D4D7D9; padding-left: clamp(14px,1.7vw,24px); }
.ngh .ng-journal .ng-journal-story-link { display: flex; align-items: center; gap: clamp(12px,1.1vw,16px); min-height: 76px; height: 100%; color: var(--feature-ink); text-decoration: none; }
.ngh .ng-journal .ng-journal-photo { flex: 0 0 clamp(76px,6.2vw,88px); aspect-ratio: 1.15; overflow: hidden; border-radius: 6px; background: #ECEEF0; }
.ngh .ng-journal .ng-journal-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.ngh .ng-journal .ng-journal-text { min-width: 0; }
.ngh .ng-journal .ng-journal-text time { display: block; font: 700 12px/1.3 'Proximanova-bold',Arial,sans-serif; letter-spacing: .04em; text-transform: uppercase; color: var(--feature-muted); margin: 0 0 4px; }
.ngh .ng-journal .ng-journal-text h3 { color: var(--feature-ink); font-size: clamp(17px,1.4vw,20px); line-height: 1.16; font-weight: 700; letter-spacing: -.025em; overflow-wrap: break-word; }
.ngh .ng-journal .ng-journal-story-link:hover h3 { text-decoration: underline; text-underline-offset: .12em; }
.ngh .ng-journal .ng-journal-story-link:hover img { transform: scale(1.04); }
@media (max-width: 900px) {
  .ngh .ng-journal .ng-journal-grid { grid-template-columns: minmax(0,1fr); gap: 0; padding-top: 0; }
  .ngh .ng-journal .ng-journal-story { padding: 10px 0; }
  .ngh .ng-journal .ng-journal-story + .ng-journal-story { border-left: 0; border-top: 1px solid #D4D7D9; padding-left: 0; }
  .ngh .ng-journal .ng-journal-story:last-child { padding-bottom: 0; }
  .ngh .ng-journal .ng-journal-story-link { min-height: 58px; }
  .ngh .ng-journal .ng-journal-photo { flex-basis: 74px; aspect-ratio: 1.24; }
}
body.home .ngh #home-questions.ng-questions { background: #F7F8F9; }
.ngh .ng-questions .ng-questions-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(25px,4.4vw,65px); }
.ngh .ng-questions .ng-questions-group { min-width: 0; border-top: 2px solid #202124; }
.ngh .ng-questions .ng-questions-group h3 { display: flex; align-items: center; gap: 12px; color: #202124; font-size: clamp(23px,2.1vw,31px); line-height: 1.15; letter-spacing: -.035em; padding: 24px 0 19px; }
.ngh .ng-questions .ng-questions-group h3::before { content: ''; width: 17px; height: 7px; flex: 0 0 auto; background: var(--feature-green); }
.ngh .ng-questions .ng-questions-group details { margin: 0; padding: 0; background: transparent; border: 0; border-bottom: 1px solid #BCC1C5; border-radius: 0; }
.ngh .ng-questions .ng-questions-group summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 18px; min-height: 65px; padding: 15px 0; color: #202124; line-height: 1.3; font-size: clamp(17px,1.4vw,20px); letter-spacing: -.015em; font-weight: 700; }
.ngh .ng-questions summary::-webkit-details-marker { display: none; }
.ngh .ng-questions .ng-questions-group summary::after, .ngh .ng-questions .ng-questions-group summary::before { content: none; }
.ngh .ng-questions .ng-questions-toggle { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; background: white; border: 1px solid #BCC1C5; border-radius: 50%; }
.ngh .ng-questions .ng-questions-toggle::before, .ngh .ng-questions .ng-questions-toggle::after { content: ''; grid-area: 1/1; width: 11px; height: 2px; background: #202124; }
.ngh .ng-questions .ng-questions-toggle::after { transform: rotate(90deg); }
.ngh .ng-questions details[open] .ng-questions-toggle, .ngh .ng-questions summary:hover .ng-questions-toggle { background: var(--feature-lime); border-color: var(--feature-green); }
.ngh .ng-questions details[open] .ng-questions-toggle::after { transform: none; }
.ngh .ng-questions .ng-questions-answer { padding: 0 32px 22px 0; }
.ngh .ng-questions .ng-questions-answer p { color: #45494B; font-size: 17px; line-height: 1.55; }
.ngh .ng-questions .ng-questions-answer a { color: #202124; text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 780px) {
  .ngh .ng-edge .ng-edge-layout, .ngh .ng-questions .ng-questions-grid { grid-template-columns: minmax(0,1fr); }
  .ngh .ng-edge .ng-edge-figure { max-width: 600px; width: 100%; }
  .ngh .ngh-feature h2 { font-size: clamp(40px,8vw,60px); }
  .ngh .ng-questions .ng-questions-grid { gap: 36px; }
}
@media (max-width: 520px) {
  .ngh .ngh-feature .ng-feature-heading { flex-direction: column; align-items: flex-start; gap: 9px; padding-bottom: 17px; }
  .ngh .ngh-feature a.ng-feature-link { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .ngh .ngh-feature *, .ngh .ngh-feature *::before, .ngh .ngh-feature *::after { animation: none !important; transition: none !important; }
}
